Skip to content

Bot-Labeler

Удобная оболочка над роутерами. С помощью лейблера создаются хендлеры. Может быть использовано в качестве портабельного диспатчера.

Имеет метод load который должен загружать хендлеры и мидлвари в текущий лейблер из переданного. Может быть использовано для разбивания кода на много частей.

Пример

bot.py

1
2
3
4
5
6
7
8
9
from vkbottle import Bot
from routes import labelers

bot = Bot("token")

for custom_labeler in labelers:
    bot.labeler.load(custom_labeler)

bot.run_forever()

routes/__init__.py

1
2
3
from . import greetings, goodbyes

labelers = [greetings.bl, goodbyes.bl]

routes/greetings.py

1
2
3
4
5
6
7
from vkbottle.bot import BotLabeler, Message

bl = BotLabeler()

@bl.message(text=["привет", "хай", "здравствуй"])
async def greeting(message: Message):
    await message.answer("Привет, друг")

routes/goodbyes.py

1
2
3
4
5
6
7
from vkbottle.bot import BotLabeler, Message

bl = BotLabeler()

@bl.message(text=["пока", "до свидания"])
async def greeting(message: Message):
    await message.answer("До новых встреч")