Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пайтон. Телеграмм бот

Крутой Чел Ученик (104), открыт 1 неделю назад
Есть такой скрипт:
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]
Почему?! Чат гпт говорит что версия библиотеки не та, хотя я обновил её. Помогите пожалуйста
1 ответ
Tema Monolit Ученик (203) 1 неделю назад
Пиши коды сам, а не через чат гпт. В будущем пригодится)
Крутой ЧелУченик (104) 1 неделю назад
Код написал сам, но он не работал, и только тогда я попросил гпт помочь, потому что 2 часа проблему не мог решить, но гпт не помог
Похожие вопросы