• Как использовать команду через @?

    @o5a
    Можно без regexp обойтись, просто методами самого vkbottle.
    Вместо всего этого
    @bot.on.message(text=["Призми погладить", "Рп погладить", "[id{user_id}|Фурина]"])
    async def pat_user(message: Message):
        # Проверяем, было ли упоминание пользователя через @
        mentioned_user_id = None
        mentioned_users = re.findall(r'\[id(\d+)\|.*?\]', message.text)
        if mentioned_users:
            mentioned_user_id = mentioned_users[0]

    Просто напрямую прописать этот формат в хэндлере, и затем использовать найденные им значения в функции
    @bot.on.message(text=["Рп погладить [id<mentioned_user_id>|<mentioned_user_name>]", "Призми погладить", "Рп погладить"])
    async def pat_user(message: Message, mentioned_user_id=None, mentioned_user_name=None):
        mentioned_user_id ... # уже можно использовать напрямую
        # можно и само имя использовать, если вдруг пригодится mentioned_user_name

    Так должно работать для "Рп погладить [idxxx|кто-тотам]", для второго аналогично сделать.
    Ответ написан
    Комментировать