Pyrogram Chat_Member.Status 检查不起作用

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

我正在尝试使用热解图为机器人编写代码,它应该仅处理来自管理员或所有者的命令。这是我的代码

@app.on_message(filters.chat(TARGET) & filters.command("start"))
async def start(client, message):
    # Check if the sender is the owner or admin of the chat
    chat_member_info = await client.get_chat_member(TARGET, message.from_user.id)    
    chat_member_info_status = chat_member_info.status
#checkpoint 1
    await message.reply_text(f'You are {chat_member_info_status}')
    if chat_member_info_status == 'ChatMemberStatus.OWNER' or chat_member_info_status == 'ChatMemberStatus.ADMINISTRATOR':
        # Do A
       )
    else:
       #  Do B

机器人在我的检查点 1 中向我返回“You are ChatMemberStatus.OWNER”,但由于某种原因,“if”函数永远无法工作,并且程序每次都会转到“Do B”...

将不胜感激任何帮助,我对热解图非常陌生。谢谢!

尝试检查first_name作为测试,效果很好。

bots telegram pyrogram
1个回答
0
投票

ChatMemberStatus.OWNER
是一个 ENUM,您将其用作字符串。


你需要类似的东西:

if chat_member_info_status == ChatMemberStatus.OWNER:
© www.soinside.com 2019 - 2024. All rights reserved.