D
D
Duzive2019-09-22 15:23:34
Python
Duzive, 2019-09-22 15:23:34

How to assign actions to a button?

Помогите.
Дописал боту ВКонтакте кнопки, используя метод VkKeyBoard. Теперь не могу понять, как назначить действия кнопкам. Например чтобы при нажатии бот перенаправлял пользователя на определенную функцию. Также, как заставить кнопки бота работать в беседах? Так как когда пользователь нажимает на кнопку, автоматически ВКонтакте упоминает бота, при этом бот нечего не отвечает.
Вот структура кнопок:

keyboard = VkKeyboard(one_time=True)

keyboard.add_button('Кнопка 1', color=VkKeyboardColor.POSITIVE)
keyboard.add_button('Кнопка 2', color=VkKeyboardColor.POSITIVE)
keyboard.add_line() 
keyboard.add_button("Кнопка 3", color=VkKeyboardColor.NEGATIVE)
keyboard.add_button("Кнопка 4", color=VkKeyboardColor.NEGATIVE)

Для выбора нужной кнопки в беседе, написал вот такую функцию:
def mes_get_but():
  vk.method("messages.send", {"peer_id": event.object.peer_id, "message": "Выбирай, расскажу","random_id": 0, "keyboard": keyboard.get_keyboard()})

Для других сообщений, написана точно такая же функция, но без аргумента "keyboard"
Заранее благодарю за ответ

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Александр, 2019-09-24
@duzive

При нажатии кнопки вк отправляет post запрос в теле которого имеется ключ payload. Принимайте запрос от ВКонтакте ищите ключ payload и его значение, сравнивайте в коде программы и вызывайте нужную функцию, которую должен выполнить бот.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question