获取机器人的状态 discord.py
Get bot's status discord.py
我想在机器人更改为执行操作时获取它的状态(现在它只是在上线时打印。)。
不幸的是,我的方法不起作用:
@bot.event
async def on_member_update(usr_before, usr_after):
if bot.user.status == discord.Status.online:
print("becomes online!")
我认为问题在于状态不是 User
属性而是 Member
属性。我怎样才能 "convert" 我的机器人到 Member
?
我有这个。
@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"))
试试这个:
member = None
for server in bot.servers:
member = server.get_member(bot.user.id)
break
if member.status == discord.Status.online:
或者这个:
if [s for s in bot.servers][0].get_member(bot.user.id).status == discord.Status.online:
好吧,实际上,有一个 discord.Server 属性 (discord.Server.me) 可以执行 x)
https://discordpy.readthedocs.io/en/latest/api.html#discord.Server.me
不过还没有测试过
我想在机器人更改为执行操作时获取它的状态(现在它只是在上线时打印。)。
不幸的是,我的方法不起作用:
@bot.event
async def on_member_update(usr_before, usr_after):
if bot.user.status == discord.Status.online:
print("becomes online!")
我认为问题在于状态不是 User
属性而是 Member
属性。我怎样才能 "convert" 我的机器人到 Member
?
我有这个。
@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"))
试试这个:
member = None
for server in bot.servers:
member = server.get_member(bot.user.id)
break
if member.status == discord.Status.online:
或者这个:
if [s for s in bot.servers][0].get_member(bot.user.id).status == discord.Status.online:
好吧,实际上,有一个 discord.Server 属性 (discord.Server.me) 可以执行 x)
https://discordpy.readthedocs.io/en/latest/api.html#discord.Server.me
不过还没有测试过