Хз что тут происходит

P04Emu4Ka

Новичок
Автор темы
15
1
Python:
import logging


from telegram import ForceReply, Update

from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters

# Включаем логирование
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# Список эмодзи, которые нужно удалять
emojis_to_remove = ['🏀', '⚽', '🎲', '🎰']

def delete_emojis(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    """Удаляет сообщения с определенными эмодзи."""
    if any(emoji in update.message.text for emoji in emojis_to_remove):
        try:
            context.bot.delete_message(chat_id=update.message.chat_id, message_id=update.message.message_id)
        except Exception as e:
            logger.error(f"Error deleting message: {e}")

def main():
    """Запускаем бота."""
    # Вставьте сюда ваш токен
    application = Application.builder().token("лол").build()
    dispatcher = Update.dispatcher

    # Добавляем обработчик сообщений
    dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, delete_emojis))

    # Запускаем бота
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Выдаёт ошибку:
Traceback (most recent call last):
File "/home/runner/--------------/main.py", line 37, in <module>
main()
File "/home/runner/----------------/main.py", line 27, in main
dispatcher = Update.dispatcher
AttributeError: type object 'Update' has no attribute 'dispatcher'
 
  • Ха-ха
Реакции: chromiusj

Макаров

Новичок
21
4
Ошибка указывает на отсутствие атрибута dispatcher у объекта Update.
Исходя из документации, функция main() должна выглядеть вот так:

main():
def main()
    # Вставьте сюда ваш токен
    application = Application.builder().token("лол").build()

    # Добавляем обработчик сообщений
    application.add_handler(MessageHandler(Filters.text & ~Filters.command, delete_emojis))

    # Запускаем бота
    application.run_polling(allowed_updates=Update.ALL_TYPES)
руководствовался: https://docs.python-telegram-bot.org/en/v21.4/examples.echobot.html
Рекомендация: Читать документацию и выбирать современные библиотеки
 
  • Нравится
Реакции: TravkaCode.lover()