Top.Mail.Ru
Ответы

Ошибка Python TypeError: Updater.__init__() missing 1 required positional argument: 'update_queue'

При запуске появляется такая ошибка


123456789101112131415161718192021222324252627282930313233343536373839404142
 import openai  
import logging  
from telegram import Update  
from telegram.ext import Updater, CommandHandler, MessageHandler, filters, CallbackContext  
 
TELEGRAM_TOKEN = 'XXXXXXXX'  
openai.api_key = 'XXXXXXXX'  
 
logging.basicConfig(  
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',  
    level=logging.INFO  
)  
logger = logging.getLogger(__name__)  
 
def start(update: Update, context: CallbackContext) -> None:  
    update.message.reply_text('Привет, я нейросеть tmgpt. Задай мне вопрос!')  # Исправлено  
 
def chat_with_gpt3(update: Update, context: CallbackContext) -> None:  
    user_message = update.message.text  
 
    try:  
        response = openai.Completion.create(  # Исправлено: Completion вместо Complection  
            engine="text-davinci-003",        # Исправлено: davinci вместо davinchi  
            prompt=user_message,              # Исправлено: prompt вместо promt  
            max_tokens=150                    # Исправлено: max_tokens вместо max_token  
        )  
        bot_reply = response.choices[0].text.strip()  
        update.message.reply_text(bot_reply)  
    except Exception as e:  
        logger.error(f"Ошибка: {e}")  
        update.message.reply_text("Что-то пошло не так 😢")  
 
def main():  
    updater = Updater(TELEGRAM_TOKEN)  # Исправлено: убрано повторение  
    dispatcher = updater.dispatcher  
    dispatcher.add_handler(CommandHandler("start", start))  
    dispatcher.add_handler(MessageHandler(filters.text & ~filters.command, chat_with_gpt3))  # Исправлено: filters вместо Filters  
    updater.start_polling()  
    updater.idle()  
 
if __name__ == '__main__':  # Исправлено: двойное подчеркивание  
    main() 
По дате
По рейтингу
Аватар пользователя
Знаток
3мес

Токен вставь

Аватар пользователя
Оракул
3мес

В классе Updater одного параметра не хватает в строке 34