Skip to main content

module for the vk api wrapper

Project description

vka

Модуль сделана по основам "vk_api" и "vkquick"

Поддерживает python3.10+

Ниже приведен первый пример, как можно - создать команду, отправить сообщение, выполнить метод вк

from vka import ABot, Context

# токен от ГРУППЫ
bot = ABot(token="group_token")

# добавление команды в бота
@bot.add_command(commands=('привет', 'hi'))
async def hello_world(ctx: Context):
    # чтобы воспользоваться методом вк
    await ctx.api.users.get(user_ids=1)  
    # тоже самое можно так ->  await ctx.api.method("users.get", {"user_ids":1})
    #   (
    #       {
    #           'first_name': 'Павел', 
    #            'id': 1, 
    #            'last_name': 'Дуров', 
    #            'can_access_closed': True, 
    #            'is_closed': False, 
    #            'can_invite_to_chats': False
    #        }
    #   )
    
    # чтобы получить пользователя который написал команду
    user = await ctx.fetch_sender()
    """
        id              - id
        fn              - имя
        ln              - фамилия
        full            - имя фамилия
        @ - [@id|name]  - становится кликабельная 
    """ 

    # отправка сообщения
    await ctx.answer(f'{user:@full_name}, привет!')
    
async def poke(ctx: Context):
    await ctx.answer('ТЫК!')
    
bot.register_command(poke, commands='тык')

# запуск бота
bot.run()

Второй пример

 
from vka import ABot, Context, Keyboard, Button

bot = ABot(token="group_token")


@bot.add_click_callback(show_snackbar=True)
async def show_snackbar():
    return 'Произошло чудо 🧩'


@bot.add_command(commands='привет')
async def hello_world(ctx: Context):
    keyboard = Keyboard(
        Button.callback('Мя').positive().on_called(
            show_snackbar
        ),
    )
    await ctx.answer('Нажми на кнопку чтобы произошло чудо 🤖', keyboard=keyboard)


bot.run()

Третий пример

 
from vka import ABot, Context, Keyboard, Button
import asyncio


async def show_snackbar():
    return 'Произошло чудо 🧩'


async def hello_world(ctx: Context):
    keyboard = Keyboard(
        Button.callback('Мя').positive().on_called(
            show_snackbar
        ),
    )
    await ctx.answer('Нажми на кнопку чтобы произошло чудо 🤖', keyboard=keyboard)

async def any_text(ctx: Context):
    await ctx.answer('Привет!')

    
async def main():
    bot = ABot(token="group_token")
    bot.register_command(hello_world, commands='hi') # только по команде сработает
    bot.register_command(hello_world, any_text=True) # ответит на любое смс
    bot.register_callback(hello_world, show_snackbar=True) # если хотите чтобы вылезло типо уведомления
    await bot.async_run()

asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vka-1.2.18.tar.gz (22.2 kB view details)

Uploaded Source

File details

Details for the file vka-1.2.18.tar.gz.

File metadata

  • Download URL: vka-1.2.18.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for vka-1.2.18.tar.gz
Algorithm Hash digest
SHA256 2ee926734e2b33e677b4f3d4e968b69b24a042e844ffe43b30f0d3b876c52bc4
MD5 49b21296ce12216c1898bcc93e9b7c23
BLAKE2b-256 dfc2bb77ece3459d91de18a9e5c2e805d979252ae56bdf51537a6f279e17e366

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page