【问题标题】:Status check always showing that the user is 'offline'状态检查始终显示用户处于“离线”状态
【发布时间】:2021-09-01 17:08:11
【问题描述】:

所以我在这里遇到了一个问题,我正在尝试执行状态检查命令来检查用户是在线、离线、空闲还是 dnd,他们是在移动设备还是桌面设备上,甚至可能是他们的自定义地位。但是,我的主要问题是查看用户是否在线/离线或其他。即使我知道我没有离线,它似乎总是返回“离线”。这是我的代码(目前只是打印到控制台查看)

@client.command(name="status")
async def status(ctx, user: discord.Member=None):
    if not user:
        user = ctx.message.author
    print(user)
    print(user.raw_status)

但是,当我启动此命令时,它总是返回“离线”,我无法弄清楚原因。我试过:user.statususer.raw_statususer.desktop_status,以防万一它很奇怪或者我不明白,mobile_status(我在桌面上。)如果有人有解决办法这个请告诉我,谢谢!

【问题讨论】:

    标签: python discord.py offline status


    【解决方案1】:

    如果您没有向您的机器人添加意图,那么您将无法处理服务器中的用户状态。前往“https://discord.com/developers/applications//bot”并在“Privileged Gateway Intents”下勾选“PRESENCE INTENT”和“SERVER MEMBERS INTENT”。这将允许机器人向服务器中的用户请求存在数据。 在您的机器人代码中,添加

    from discord import Intents
    client = commands.Bot(command_prefix=YOUR_PREFIX, intents = Intents.all())
    

    【讨论】:

    • 这成功了!我的意图只是意图 = Intents 但添加 .all() 有效,谢谢!
    • 没问题,很高兴为您提供帮助!当我第一次开始使用 discord.py 时,它同样令人困惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多