Не меняется клавиатура Vk_api Python

У меня возникла проблема. Дело в том, что при отправке сообщения "Каталог", прикрепленная к нему клавиатура не отображается.

import vk_api, json
from PyEasyQiwi import QiwiConnection
from vk_api.longpoll import VkLongPoll, VkEventType

api_key = 'Мой ключ'
conn = QiwiConnection(api_key)
token = 'Мой токен'
vk_session = vk_api.VkApi(token = token)
vk = vk_session.get_api()

bwa = True

vk = vk_api.VkApi(token=token)
longpoll = VkLongPoll(vk)

def sender(id,text):
    vk.messages.send(user_id = id, message = text, random_id = 0)

def sender(id, text):
    vk_session.method('messages.send', {'user_id' : id, 'message' : text, 'random_id' : 0, 'keyboard' : keyboard})

def sender1(id, text):
    vk_session.method('messages.send', {'user_id' : id, 'message' : text, 'random_id' : 0, 'keyboard' : keyboard1})

def get_but(text, color):
    return {
                "action": {
                    "type": "text",
                    "payload": "{\"button\": \"" + "1" + "\"}",
                    "label": f"{text}"
                },
                "color": f"{color}"
            }
 
keyboard = {
    "one_time" : False,
    "buttons" : [
        [get_but('Каталог', 'positive')],
        [get_but('✅ Отзывы', 'positive')],
        [get_but('ℹ️ FAQ', 'primary'), get_but('? Поддержка', 'negative')]
    ]
}
keyboard = json.dumps(keyboard, ensure_ascii = False).encode('utf-8')
keyboard = (keyboard.decode('utf-8'))

keyboard1 = {
    "one_time" : False,
    "buttons" : [
        [get_but('? Discord Nitro FULL', 'positive'), get_but('? Discord Nitro Classic', 'positive')],
        [get_but('? Telegram Premium', 'positive'), get_but('✨ Spotife PREMIUM', 'positive')],
        [get_but('?️ YouTube Premium', 'positive'), get_but('❇️ Apple Music', 'positive')]
    ]
}

keyboard1 = json.dumps(keyboard, ensure_ascii = False).encode('utf-8')
keyboard1 = (keyboard1.decode('utf-8'))

 
def main():
    for event in longpoll.listen():
        if event.type == VkEventType.MESSAGE_NEW:
            if event.to_me:
 
                id = event.user_id
                msg = event.text.lower()

                if msg == 'начать':
                    sender(id, 'Ты сейчас в меню бота. Используй кнопки, чтобы оформить заказ!')

                if msg == 'каталог':
                    sender1(id, 'Вы открыли каталог')

 
while bwa == True:
    main()

Также опытным путем (Я специально допустил ошибку) удалось выяснить, что к клавиатуре вообще не отправляется запрос, поскольку ошибка не выскакивает. Подскажите пожалуйста, что делать?


Ответы (0 шт):