Помощь в создании бота с использование Telebot
Есть новостной бот: https://t.me/newsparcing_bot и склад новостей : https://t.me/skladfordiplom
Нужно,что бы когда человек заходил в бота и нажимал /start,у него появлялась новая новость,тоесть бот бы брал и вкидывал к себе сообщения из чата склад новостей и каждый раз после получения новости кнопка "следующая новость" оставалась, и когда человек нажимает повторно,опять вылазит новость следующая и т.д.
import telebot
# Укажите ваш токен бота
bot_token = '6995316880:AAEm1ssKTrUxCr7BiG8IBBDWQmIvedPkWqE'
bot = telebot.TeleBot(bot_token)
# Идентификатор канала со складом новостей
# -1002069779630
news_channel_id = 'https://t.me/skladfordiplom'
# Словарь для хранения состояний пользователей
user_states = {}
# Обработчик команды /start для вашего бота
@bot.message_handler(commands=['start'])
def start(message):
user_states[message.chat.id] = {'current_news_index': 0}
send_news(message.chat.id)
# Обработчик кнопки "Следующая новость"
@bot.callback_query_handler(func=lambda call: call.data == 'next_news')
def next_news(call):
chat_id = call.message.chat.id
user_state = user_states.get(chat_id)
if user_state:
user_state['current_news_index'] += 1
send_news(chat_id)
# Функция для отправки новости пользователю
def send_news(chat_id):
user_state = user_states.get(chat_id)
if user_state:
current_news_index = user_state['current_news_index']
try:
# Копируем последнее сообщение из канала с новостями
message = bot.copy_message(chat_id, news_channel_id, current_news_index)
# Получаем текст текущей новости
news_text = message.text
markup = telebot.types.InlineKeyboardMarkup()
next_button = telebot.types.InlineKeyboardButton(text='Следующая новость', callback_data='next_news')
markup.add(next_button)
bot.send_message(chat_id, news_text, reply_markup=markup)
except IndexError:
bot.send_message(chat_id, "Больше нет новостей")
# Запускаем бота
bot.polling()
Вот мой код, пожалуйста помогите уже все посмотрел и почитал, не могу найти решение.