Помощь в создании бота с использование 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()

Вот мой код, пожалуйста помогите уже все посмотрел и почитал, не могу найти решение.


Ответы (0 шт):