Всем привет. Я новичок на этом портале да и в Python тоже, заранее простите, если плохо описал проблему или написал кривой код.
Пишу код для телеграмм бота. Задача бота считывать строки из текстового файла и после определенных строк вставлять инлайновую клавиатуру. При нажатии одной из кнопок он должен продолжать отправлять сообщения до определенной строки. Проблема в том, что я не понимаю как проверить нажатие на клавишу и продолжить отправлять строки из файла.
import telebot
import config
import scenario
from time import sleep as sl
from telebot import types
bot = telebot.TeleBot(config.token)
@bot.message_handler(commands = ['start'])
def vstuplenie(message):
f = list(open ('Name_file.txt', encoding = 'Windows-1251'))
bot.send_message(message.chat.id, scenario.nachalo )
sl(1)
for i, line in enumerate(f):
if i < 5:
bot.send_message(message.chat.id, line )
sl(3)
markup = types.InlineKeyboardMarkup(row_width = 1)
item1 = types.InlineKeyboardButton("Бла-бла-бла", callback_data= "answer1")
item2 = types.InlineKeyboardButton("Бла-бла-бла", callback_data= "answer2")
markup.add(item1, item2)
bot.send_message(message.chat.id, "Бла-бла-бла", reply_markup=markup)
sl(3)
'''На этом месте проблема. Без проверки нажатия кнопки он просто продолжает отправлять текст не дожидаясь
клика'''
if :
for i, line in enumerate(f):
if i > 4:
bot.send_message(message.chat.id, line )
sl(3)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == "answer1":
bot.send_message(call.message.chat.id, "Бла-бла-бла")
elif call.data == "answer2":
bot.send_message(call.message.chat.id, "Бла-бла-бла")
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Бла-бла-бла" ,
reply_markup=None)
except Exception as e:
print(repr(e))
if __name__ == '__main__':
bot.polling(none_stop = True)