Top.Mail.Ru
Ответы

В коде ошибка, помогите пожалуйста решить.

Здравствуйте пишу код для создание телеграм тем, сам плохо знаю язык пишу с помощью искусственного интеллекта. Вот сам код.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
 import logging 
from telegram import Update, InputFile 
from telegram.ext import Updater, CommandHandler, MessageHandler, filters, CallbackContext 
from PIL import Image, ImageDraw, ImageFont 
import io 
 
# Включаем логирование 
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) 
logger = logging.getLogger(__name__) 
 
# Команда /start 
def start(update: Update, context: CallbackContext) -> None: 
    update.message.reply_text('Привет, я бот для создания тем! Отправьте фото.') 
 
# Обработчик фото 
def photo_handler(update: Update, context: CallbackContext) -> None: 
    user_photo = update.message.photo[-1].get_file() 
    context.user_data['photo_file_id'] = user_photo.file_id 
    update.message.reply_text('Какого цвета вы хотите фон?') 
    return 'background_color' 
 
# Обработчик цвета фона 
def background_color(update: Update, context: CallbackContext) -> None: 
    context.user_data['background_color'] = update.message.text 
    update.message.reply_text('Какого цвета вы хотите текст?') 
    return 'text_color' 
 
# Обработчик цвета текста 
def text_color(update: Update, context: CallbackContext) -> None: 
    context.user_data['text_color'] = update.message.text 
    create_theme(update, context) 
 
def create_theme(update: Update, context: CallbackContext): 
    background_color = context.user_data['background_color'] 
    text_color = context.user_data['text_color'] 
 
    # Получаем фото 
    user_photo = context.user_data['photo_file_id'] 
    photo_file = update.message.bot.get_file(user_photo) 
 
    # Загрузка фото 
    photo_file.download('user_photo.jpg') 
 
    # Открытие изображения 
    img = Image.open('user_photo.jpg') 
    draw = ImageDraw.Draw(img) 
 
    # Установка шрифта 
    font = ImageFont.load_default() 
    text = 'Hello, World!'  # Здесь можно разместить текст для фото 
 
    # Получаем размеры текста 
    text_size = draw.textsize(text, font=font) 
 
    # Определяем позицию текста 
    text_x = (img.width - text_size[0]) / 2 
    text_y = (img.height - text_size[1]) / 2 
 
    # Рисуем фон 
    background = Image.new('RGB', img.size, background_color) 
    img.paste(background, (0, 0), background) 
 
    # Рисуем текст 
    draw.text((text_x, text_y), text, fill=text_color, font=font) 
 
    # Сохраняем новое изображение 
    img.save('themed_image.jpg') 
 
    # Отправляем изображение пользователю 
    with open('themed_image.jpg', 'rb') as f: 
        update.message.reply_photo(photo=InputFile(f)) 
 
# Основная функция, которая запускает бота 
def main() -> None: 
    # Создайте Updater и передайте ему токен вашего бота                  #line 76    updater = Updater("МОЙ ТОКЕН") 
 
    # Получите диспетчер для регистрации обработчиков 
    dispatcher = updater.dispatcher 
 
    # Включение обработчиков 
    dispatcher.add_handler(CommandHandler("start", start)) 
    dispatcher.add_handler(MessageHandler(filters.photo, photo_handler)) 
 
    # Стартуем бота 
    updater.start_polling() 
 
    # Бот будет работать, пока вы его не остановите 
    updater.idle() 
 
if __name__ == '__main__': 
#line 92    main() 

Вот ошибка

123456789
 Traceback (most recent call last): 
  File "D:\КОД\1\main.py", line 92, in <module> 
    main() 
  File "D:\КОД\1\main.py", line 76, in main 
    updater = Updater("МОЙ ТОКЕН") 
              ^^^^^^^^^^^^^^^^^^^^ 
TypeError: Updater.__init__() missing 1 required positional argument: 'update_queue' 
 
Process finished with exit code 1 
По дате
По рейтингу
Аватар пользователя
Новичок
10мес

В Updater() надо передать обязательный аргумент update_queue
https://stackoverflow.com/questions/77365303/telegram-bot-updater-init-missing-1-required-positional-argument-updat

И вообще я бы рекомендовал всегда с осторожностью смотреть, что там пишет нейросеть, потому что у неё могут запросто быть устаревшие данные. Лучше всего читать официальную документацию.
https://docs.python-telegram-bot.org/en/v20.6/telegram.ext.updater.html#telegram.ext.Updater.update_queue

Аватар пользователя
10мес

Ок

Аватар пользователя
Ученик
10мес

он же светится