Подскажите почему не запускается код.

flygert1988

Новичок
Пользователь
Июн 3, 2023
2
0
1
Добрый день!
Подскажите пожалуйста как решить ошибку в коде.

Python:
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()

Вот ошибка:
Python:
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'


Ни как не могу понять почему не работает, заранее всем большое спасибо за помощь!
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 581
457
83
Добрый день!
Подскажите пожалуйста как решить ошибку в коде.

Python:
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()

Вот ошибка:
Python:
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'


Ни как не могу понять почему не работает, заранее всем большое спасибо за помощь!
dispatcher это наверное функция, скобочки надо в конце
и вы показали свой ключ бота, вам нужно его заменить
 

flygert1988

Новичок
Пользователь
Июн 3, 2023
2
0
1
Добрый день!
Поставил скобки ошибка не прошла
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
372
107
43
Поставил скобки ошибка не прошла
потому что дело не в скобках

Python:
from telegram import Update
from telegram.ext import CommandHandler, MessageHandler, ContextTypes, Application, filters
import random


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


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


async def statistics(update: Update, context: ContextTypes.DEFAULT_TYPE):
    """Обработчик команды /statistics."""
    await update.message.reply_text('Здесь будет статистика.')


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


def main():
    # Инициализация бота
    application = Application.builder().token("6276353212:AAFOGVMfhCcgsNEJ0JSiYLVJGCNaVRPyq9I").build()

    # Обработчики команд
    application.add_handlers([
        CommandHandler("start", start),
        CommandHandler("bonus", bonus),
        CommandHandler("statistics", statistics)
    ])

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

    # Запуск бота
    application.run_polling()


if __name__ == '__main__':
    main()
 
  • Мне нравится
Реакции: regnor и robisho

Форум IT Специалистов