无论何时更改为执行操作,我都希望获得bot的状态(目前,它仅在控制台上在线时才显示。)但这不起作用:
@bot.event
async def on_member_update(usr_before, usr_after):
if bot.user.status == discord.Status.online:
print("becomes online!")
我认为问题在于状态不是用户属性,而是成员属性。如何将我的漫游器“转换”为会员?
预先感谢:)
答案 0 :(得分:1)
我这样子。
@client.event
async def on_ready():
print("Bot Online!")
print("Name: {}".format(client.user.name))
print("ID: {}".format(client.user.id))
await client.change_presence(game=discord.Game(name="d!help for help"))
尝试一下:
m = None
for s in bot.servers:
m = s.get_member(bot.user.id)
break
if m.status == discord.Status.online:
或者这个:
if [s for s in bot.servers][0].get_member(bot.user.id).status == discord.Status.online:
答案 1 :(得分:0)
好的,实际上,有一个discord.Server属性(discord.Server.me)可以执行此操作x)
https://discordpy.readthedocs.io/en/latest/api.html#discord.Server.me
虽然没有测试