我遇到了 AttributeError:模块“telegram.ext.filters”没有属性“TEXT”

问题描述 投票:0回答:1

我正在制作一个电报机器人,试图找到其他机器人、频道等。 但我遇到了这个错误:

Traceback (most recent call last):

  File "/data/data/com.termux/files/home/programs/antiscamer.py", line 29, in <module>

    main()

  File "/data/data/com.termux/files/home/programs/antiscamer.py", line 24, in main

    dispatcher.add_handler(CommandHandler(filters.TEXT & ~filters.command, find_bot))

                                          ^^^^^^^^^^^^

AttributeError: module 'telegram.ext.filters' has no attribute 'TEXT'

这不是第一个错误。对于其他错误,我很容易修复。但我不知道如何解决这个问题 这是我的代码:

from telegram import Update

from telegram.ext import Updater, CommandHandler, MessageHandler, filters, CallbackContext

import requests

from telegram.ext import *

TOKEN = '7138699736:AAH3JUCxwy8jApWOqojGRZ7wFmC1CfVkG3A'





def start(update: Update, context: CallbackContext) -> None:

    update.message.reply_text('👋 Привет, это AnstiScammer_bot!\nВведите имя бота, которого нужно снести:')



def find_bot(update: Update, context: CallbackContext) -> None:

    bot_name = update.message.text

    response = requestsnget(f'https://api.telegram.org{TOKEN}/getChat?chat_id=@{bot_name}')

    bot_data = response.json()

    if bot_data.get('ok'):

        update.message.reply_text(f'Информация о боте:\n{bot_data["result"]}')

    else:

        update.message.reply_text('🤷 К сожалению, не удалось найти бота.\nПроверьте правильность в названии бота или введите другое имя.')



def main() -> None:

    updater = Updater(TOKEN)

    dispatcher = updater.dispatcher

    dispatcher.add_handler(CommandHandlr('start', start))

    dispatcher.add_handler(CommandHandlr(filters.TEXT, filters.command, find_bot))

    updater.start_polling()

    updater.idle()



if __name__ == '__main__':

    main()

我正在更改 python-telegram-bot 和 telegram 版本,但都不起作用。我不知道需要做什么:(

python bots attributeerror python-telegram-bot
1个回答
0
投票

python-telegram-bot 版本 20 开始,过滤器库为小写,单个过滤器全部为大写。

v20
变成了
filters.TEXT

from telegram.ext import Filters

你的代码变成:

dispatcher.add_handler(CommandHandler(Filters.TEXT & ~Filters.command, find_bot))

https://github.com/python-telegram-bot/python-telegram-bot/wiki/Transition-guide-to-Version-20.0

© www.soinside.com 2019 - 2024. All rights reserved.