我需要帮助监视一个特定的成员在线/离线状态与discord.py,我希望不和谐的机器人不断更新和打印人员的状态。
def run_bot():
@client.event
async def on_ready():
print(f"{client.user} is now running")
await updater()
@client.event
async def updater():
while True:
sleep(1)
for guilds in client.guilds:
for member in guilds.members:
if member.id == my_Member_id:
if member.status == discord.Status.online:
print(f"{member.name} is online")
else:
print(f"{member.name} is not online")
client.run(TOKEN)
我所拥有的代码无限期地显示人员的状态,但是当该人更改其状态时,它不会更新,而是继续显示旧状态。
发布于 2022-09-27 11:53:19
可以使用discord.on_presence_update
事件侦听器监视成员状态/活动的更改。
@client.event
async def on_presence_update(before: discord.Member, after: discord.Member):
if after.id == my_Member_id:
print('{} changed status to {}'.format(
after.display_name,
after.status
))
您还可以使用它更新本地存储的成员状态和活动。
https://stackoverflow.com/questions/73865824
复制相似问题