Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2023, 13:41   #1
flygert1988
Новичок
Джуниор
 
Регистрация: 03.06.2023
Сообщений: 1
По умолчанию Подскажите почему не запускается код.

Добрый день!
Подскажите пожалуйста как решить ошибку в коде.

Код:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackContext, MessageHandler

import random

def start(update: Update, context: CallbackContext):
    """Обработчик команды /start."""
    update.message.reply_text('Привет! Я бот для раздачи бонусов.')

def bonus(update: Update, context: CallbackContext):
    """Обработчик команды /bonus."""
    bonus_amount = random.randint(1, 100)  # Генерация случайного бонуса
    update.message.reply_text(f'Ваш бонус: {bonus_amount}')

def statistics(update: Update, context: CallbackContext):
    """Обработчик команды /statistics."""
    # Ваш код для вывода статистики
    update.message.reply_text('Здесь будет статистика.')

def handle_message(update: Update, context: CallbackContext):
    """Обработчик сообщений."""
    text = update.message.text.lower()
    if text == 'бонус':
        bonus(update, context)
    elif text == 'статистика':
        statistics(update, context)

def main():
    # Инициализация бота
    updater = Updater("6276353212:AAFOGVMfhCcgsNEJ0JSiYLVJGCNaVRPyq9I")
    dispatcher = updater.dispatcher

    # Обработчики команд
    dispatcher.add_handler(CommandHandler("start", start))
    dispatcher.add_handler(CommandHandler("bonus", bonus))
    dispatcher.add_handler(CommandHandler("statistics", statistics))

    # Обработчик сообщений
    dispatcher.add_handler(MessageHandler(None, handle_message))

    # Запуск бота
    updater.run(token="6276353212:AAFOGVMfhCcgsNEJ0JSiYLVJGCNaVRPyq9I")

if __name__ == '__main__':
    main()
Вот ошибка:

Код:
TypeError                                 Traceback (most recent call last)
<ipython-input-4-5cadf6af2313> in <cell line: 44>()
     43 
     44 if __name__ == '__main__':
---> 45     main()
     46 
     47 

<ipython-input-4-5cadf6af2313> in main()
     28 def main():
     29     # Инициализация бота
---> 30     updater = Updater("6276353212:AAFOGVMfhCcgsNEJ0JSiYLVJGCNaVRPyq9I")
     31     dispatcher = updater.dispatcher
     32 

TypeError: Updater.__init__() missing 1 required positional argument: 'update_queue'
Ни как не могу понять почему, заранее всем большое спасибо за помощь!
flygert1988 вне форума Ответить с цитированием
Старый 03.06.2023, 17:03   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Простой запрос к Сети говорит:
Ошибка вызвана отсутствием ещё одного параметра в строке:
Код:
updater = Updater("6276353212:AAFOGVMfhCcgsNEJ0JSiYLVJGCNaVRPyq9I", <тут>)
Вот синтаксис:
Код:
class telegram.ext.Updater(bot, update_queue)
PARAMETERS:
bot (telegram.Bot) – The bot used with this Updater.
update_queue (asyncio.Queue) – Queue for the updates.

Что к чему разберитесь сами. Я тут не помогу.
https://docs.python-telegram-bot.org...t.updater.html

Ещё одна ссылка говорит, что если понизить версию до 13.13, то всё ок.
Код:
pip install python-telegram-bot==13.13
Но на мой взгляд - понижение версии - плохо. Лучше разобраться с документацией на текущую актуальную версию.

PS: В этом деле я не дока вообще.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 03.06.2023, 17:15   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

flygert1988, а вот тут (https://github.com/python-telegram-b...i/Architecture) еще пишут, что не нужно самому использовать класс Updater. Может лучше взять за основу бота что-нибудь из примеров (https://github.com/python-telegram-b...aster/examples)?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, почему не запускается программа C# Stavolo Общие вопросы C/C++ 1 18.11.2018 15:44
Почему не запускается msconfig? Ice_Han Общие вопросы Delphi 11 05.05.2015 07:39
Почему не запускается bat-файл? leklerk Общие вопросы Delphi 4 27.07.2012 15:58
Как узнать почему не запускается программа mgeorgi Помощь студентам 4 06.01.2012 00:12
почему не запускается задача ? Sam04 Паскаль, Turbo Pascal, PascalABC.NET 6 31.05.2008 22:36