Клавиатура в боте VK (Python, vk_api)
Возникла проблема с подключением клавиатуры в Python - Чат бота ВК:
клавиатура:
keyboard = {
"one_time": False,
"buttons": [
[{
"action": {
"type": "text",
"payload": "{\"button\": \"1\"}",
"label": "Бот 123?"
},
"color": "positive"
}],
[{
"action": {
"type": "text",
"payload": "{\"button\": \"2\"}",
"label": "Cinema ?"
},
"color": "default"
},
{
"action": {
"type": "text",
"payload": "{\"button\": \"3\"}",
"label": "Развлечения ?"
},
"color": "default"
}
]
]
}
keyboard = json.dumps(keyboard, ensure_ascii=False).encode('utf-8')
keyboard = str(keyboard.decode('utf-8'))
На вывод сообщения:
def new_message(self, message):
# Привет
if message.upper() == self._COMMANDS[0]:
return f"Привет-привет, {self._USERNAME}!"
# Погода
elif message.upper() == self._COMMANDS[1]:
return self._get_weather()
# Время
elif message.upper() == self._COMMANDS[2]:
return self._get_time()
# Пока
elif message.upper() == self._COMMANDS[3]:
return f"Пока-пока, {self._USERNAME}!"
else:
return "Не понимаю о чем вы..."
Пытаюсь подключить через "keyboard": keyboard, но после : пишет, что ошибка синтаксиса. Помогите пожалуйста!
Ответы (1 шт):
Автор решения: Boris Grebennikov
→ Ссылка
Скорее всего из-за того что вы забыли, или неправильно поставили скобки.
Попробуйте так:
keyboard = {
"one_time": False,
"buttons": [
[{
"action": {
"type": "text",
"payload": "{\"button\": \"1\"}",
"label": "Бот 123?"
},
"color": "positive"
}],
[{
"action": {
"type": "text",
"payload": "{\"button\": \"2\"}",
"label": "Cinema ?"
},
"color": "default"
}],
[{
"action": {
"type": "text",
"payload": "{\"button\": \"3\"}",
"label": "Развлечения ?",
},
"color": "default"
}],
]
}