@gargamel1

PtTeleBot возможна работа со списком кнопок через массив?

Пишу телеграмм бота, в котором необходима создавать кнопки из списка. Т.е. я имею некоторый список, который ранее взял из excel документа, и мне нужно создать инлайн-кнопки по этому списку. Это нужно сделать циклом, чтобы список было возможно менять в зависимости от документа excel (там к слову лежат несколько листов - названия направлений, в каждом из которых расписание учебных занятий по группам).
Я попробовал сделать что то и получаю ошибку
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
	try:
		if call.message:
			if call.data == 'vr':


				
				wb = openpyxl.reader.excel.load_workbook(filename="timetable.xlsx")
				wb.active = 0
				sheet = wb.active
				

				#Список групп, запись в него циклом
				groups = [ ]
				for i in range(1, 25):
				     some = sheet.cell(row=i, column=2).value
				     if some != None:
				     	if "ВР" in some:
				     		groups.append(some)
				#Клавиатура циклом
				def generate(message):
					markup = types.InlineKeyboardMarkup(row_width=2)
					for i in range(len(groups)):
						name = str(groups[i])
						markup.add(types.InlineKeyboardButton(str(name), callback_data=name))
					bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,     text="Ok",
					reply_markup=markup)		
					

			else:
				print(2)

Ошибка при прохождении куска кода вот такая: Нажимая на кнопку VR (https://i.imgur.com/jiF3rHq.png) в её уголочке появлется значок часов (типа что-то работает), но после он пропадает, а кнопки не меняются. В консоли приложения сообщений и ошибок нет.
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы