Не работает алгоритм, который меняет клавиатуру у бота вконтакте
Пишу бота вконтакте с некоторым функционалом. Для удобства хочу добавить кнопки, которые будут меняться при отправке определенного сообщения. Но они почему-то не меняются. Не могли бы вы подсказать, что я сделал не так.
vk_session = vk_api.VkApi(token = token)
longpull = VkLongPoll(vk_session)
vk = vk_api.VkApi(token = token)
class Bot():
def __init__(self, id):
self.id = id
def kb1(self):
keyboard1 = VkKeyboard(one_time=False)
keyboard1.add_button(label="Начать", color=VkKeyboardColor.POSITIVE)
keyboard1.add_line()
keyboard1.add_button(label="Список участников", color=VkKeyboardColor.POSITIVE)
keyboard1.add_line()
keyboard1.add_button(label="Инструкция", color=VkKeyboardColor.POSITIVE)
return keyboard1
def kb2(self):
keyboard2 = VkKeyboard(one_time=False)
keyboard2.add_button(label="Заполнить список дел", color=VkKeyboardColor.POSITIVE)
keyboard2.add_line()
keyboard2.add_button(label="Список дел", color=VkKeyboardColor.POSITIVE)
keyboard2.add_line()
keyboard2.add_button(label="Список дел других участников", color=VkKeyboardColor.POSITIVE)
keyboard2.add_line()
keyboard2.add_button(label="Отметить выполненные дела", color=VkKeyboardColor.POSITIVE)
keyboard2.add_line()
keyboard2.add_button(label="Назад", color=VkKeyboardColor.NEGATIVE)
return keyboard2
def key(self, padge):
if padge == 1:
keyboard = user.kb1()
return keyboard
elif padge == 2:
keyboard = user.kb2()
return keyboard
vk_session = vk_api.VkApi(token = token)
session_api = vk_session.get_api()
longpull = VkLongPoll(vk_session)
upload = VkUpload(vk_session)
con = db.sql_connection()
db.sql_table(con)
flag = 0
padge = 1
nom_zad = 0
def send_msg(id, msg, keyboard):
vk_session.method('messages.send', {'user_id': id, 'message': msg, 'random_id': get_random_id(), 'keyboard': keyboard.get_keyboard()})
for event in longpull.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text:
msg = event.text
id = str(event.user_id)
user = Bot(id)
if padge == 1:
keyboard = user.kb1()
if msg == 'Начать':
users_id = db.sql_fetch_id(con)
user_name = vk.method("users.get", {"user_ids": id})
fullname = user_name[0]['first_name'] + ' ' + user_name[0]['last_name']
entities = (id, fullname, '1', 0, '2', 0, '3', 0, '4', 0, '5', 0, '6', 0, '7', 0, '8', 0, '9', 0, '10', 0)
db.sql_insert(con, entities)
send_msg(id, 'Привет {} \n'.format(fullname), keyboard)
padge = 2
keyboard = user.key(padge)