On_member_join 和 on_member_remove 事件不起作用

时间:2021-02-19 10:07:33

标签: python discord discord.py bots

我尝试制作一个 Discord 机器人,它可以将用户加入或离开控制台打印出来。然而,它似乎没有触发我的机器人。这是我的代码:

这是我当前的代码

    import discord 
    from discord.ext import commands
    
    client = commands.Bot(command_prefix='!')
    
    @client.event
    async def on_ready():
      print("Bot is ready")


    @client.event
    async def on_member_join():
      print("{member} hat den Server betreten.")

   ```@client.event
   async def on_member_remove():
      print("{member} hat den Server verlassen.")

  
   client.run('My Token')

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

使用 on_member_join 或其他与成员事件相关的事件,必须要求启用成员意图。这样做可以让这些事件在私密时运行,应谨慎使用。

可以从 Discord 开发者门户启用 Intent,从那里您只需要确保在“Bot”类别中的 Intent 中启用了 Member。然后,您需要在定义机器人或客户端的部分中定义和使用机器人代码中的意图:

intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix='your bot prefix', intents=intents)