无法检索 user_id 条回复消息 python-telegram-bot

Can't retrieve user_id of replied message python-telegram-bot

我正在尝试制作一个使用户静音的简单机器人,但我在检索已回复消息的用户 ID 时遇到了一些问题。

我无法访问 user_id,因为图书馆正在使用 from 键,例如:

def mute_user(update, context):
    bot = context.bot
    print(update.message.reply_to_message.from.id)

我不能使用“from”键,因为它是保留的,所以它给我一个错误。

如果我删除 .from.id,输出将是这样的:

[...] 'from': {'is_bot': False, 'username': '*****', 'first_name': '*****', 'id': 150*****}}

如何访问该 ID?

不确定这是否是您正在寻找的答案,但由于我看到您使用的是词典,很可能是嵌套词典,这里有一个关于如何获取键的示例。

user_dict = {
    'user1':{
        'is_bot': False,
        'first_name': "Bob",
        'username': '******',
        'id': '150'
    },
    'user2':{
        'is_bot': False,
        'first_name': "Joe",
        'username': '******',
        'id': '250'
    }
}

# ******** Search Record *******
usrnm = input("Enter username: ")
usr_id = input("Enter usrr id: ")

for usr in user_dict:
    u = user_dict[usr].get("Username")
    p = user_dict[usr].get("id")
    if usrnm != u and usr_id != p:
        continue
    else:
        print("found!")

我阅读 python-telegram-bot 文档解决了这个问题

https://python-telegram-bot.readthedocs.io/en/stable/telegram.message.html?highlight=telegram.Message#telegram.Message

我用了 update.message.reply_to_message.from_user 而不是 update.message.reply_to_message.from