Подскажите как сделать что бы бот отправлял следующую строчку из файла
Написал простого бота что бы по нажатию кнопки пользователь получал сообщение которое бот берет из txt файла. В этом файле 30 строк и я хочу что бы они выдавались по очереди не повторяясь.
import random
from telebot import types
bot = telebot.TeleBot('токен')
f = open('C:\\Users\\budgetpls\\Desktop\\podarok\\data\\facts.txt', 'r', encoding='UTF-8')
facts = f.read().split('\n')
f.close()
@bot.message_handler(commands=["start"])
def start(m, res=False):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Хочу подарочек")
markup.add(item1)
bot.send_message(m.chat.id, 'Нажми на кнопку: \nХочу подарочек', reply_markup=markup)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text.strip() == 'Хочу подарочек':
bot.send_message(message.chat.id, facts)
bot.polling(non_stop=True)
В этом варианте бот отправляет только первую строчку.
Источник: Stack Overflow на русском