【发布时间】:2021-02-26 12:39:25
【问题描述】:
我对 discord.py 包的 on_member_update 函数有疑问。 我的问题是 on_member_update 函数仅在机器人本身更新(如角色更新)时触发,而不是在其他用户更新时触发(它应该如何工作)。 这是我的代码的细分:
import discord
from discord.ext import commands
import sys
TOKEN = 'myToken'
BOT_PREFIX = '!'
Intents = discord.Intents()
Intents.members = True
Intents.presences = True
bot = commands.Bot(command_prefix=BOT_PREFIX, Intents = Intents)
@bot.event
async def on_ready():
print("Logged in as: " + bot.user.name + "\n")
@bot.event
async def on_member_update(before, after):
if str(before.status) == "online":
if str(after.status) == "offline":
print("{} has gone {}.".format(after.name,after.status))
else:
print("lol")
@bot.command(pass_context=True)
async def stop(ctx):
await ctx.author.send("bot stopped")
sys.exit(0)
bot.run(TOKEN)
希望您知道如何让它发挥作用。 感谢您的帮助!
【问题讨论】:
-
您可能没有启用 Intent。如果是这种情况,您可以这样做enable them :)
标签: python discord discord.py