Есть такой скрипт: from telegram.ext import Updater, CommandHandler, CallbackQueryHandler from telegram import InlineKeyboardMarkup, InlineKeyboardButton import random
# Ваш токен бота TOKEN = 'здесь токен'
# ID вашего канала (начинается с @) CHANNEL_ID = '@канал' # Замените на ваш ID канала
# Функция для отправки случайного сообщения из канала def send_random_message(update, context): try: # Получаем сообщения из канала messages = context.bot .get_chat(CHANNEL_ID).get_messages() # Выбираем случайное сообщение из списка random_message = random.choice(messages) # Пересылаем случайное сообщение в чат пользователя context.bot .forward_message(update.message.chat_id, CHANNEL_ID, random_message.message_id) except Exception as e: print(e) update.message.reply_text("Не удалось получить сообщение из канала.")
# Функция для обработки команды /start def start(update, context): keyboard = [[InlineKeyboardButton("?Случайная новость", callback_data='random_news')]] reply_markup = InlineKeyboardMarkup(keyboard) update.message.reply_text("Нажмите на кнопку '?Случайная новость' для получения случайного сообщения из канала.", reply_markup=reply_markup)
# Функция для обработки нажатий на кнопки def button_click(update, context): query = update.callback_query query.answer() if query.data == 'random_news': send_random_message(update, context)
if __name__ == '__main__': main() Но почему то выдает ошибку: Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module> start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__) File "<string>", line 50, in <module> File "<string>", line 38, in main TypeError: Updater.__init__() got an unexpected keyword argument 'token'
[Program finished] Почему?! Чат гпт говорит что версия библиотеки не та, хотя я обновил её. Помогите пожалуйста
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
from telegram import InlineKeyboardMarkup, InlineKeyboardButton
import random
# Ваш токен бота
TOKEN = 'здесь токен'
# ID вашего канала (начинается с @)
CHANNEL_ID = '@канал' # Замените на ваш ID канала
# Функция для отправки случайного сообщения из канала
def send_random_message(update, context):
try:
# Получаем сообщения из канала
messages = context.bot .get_chat(CHANNEL_ID).get_messages()
# Выбираем случайное сообщение из списка
random_message = random.choice(messages)
# Пересылаем случайное сообщение в чат пользователя
context.bot .forward_message(update.message.chat_id, CHANNEL_ID, random_message.message_id)
except Exception as e:
print(e)
update.message.reply_text("Не удалось получить сообщение из канала.")
# Функция для обработки команды /start
def start(update, context):
keyboard = [[InlineKeyboardButton("?Случайная новость", callback_data='random_news')]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text("Нажмите на кнопку '?Случайная новость' для получения случайного сообщения из канала.", reply_markup=reply_markup)
# Функция для обработки нажатий на кнопки
def button_click(update, context):
query = update.callback_query
query.answer()
if query.data == 'random_news':
send_random_message(update, context)
def main():
updater = Updater(token=TOKEN)
dp = updater.dispatcher
# Добавляем обработчики команд
dp.add_handler(CommandHandler("start", start))
dp.add_handler(CallbackQueryHandler(button_click))
# Запускаем бота
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
Но почему то выдает ошибку:
Traceback (most recent call last):
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in <module>
start(fakepyfile,mainpyfile)
File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start
exec(open(mainpyfile).read(), __main__.__dict__)
File "<string>", line 50, in <module>
File "<string>", line 38, in main
TypeError: Updater.__init__() got an unexpected keyword argument 'token'
[Program finished]
Почему?! Чат гпт говорит что версия библиотеки не та, хотя я обновил её. Помогите пожалуйста