Discord Bot在on_member_join和on_member_remove事件中不起作用

时间:2020-10-25 11:20:03

标签: python discord.py

我刚刚开始用python开发不和谐的bot,但是我遇到了问题。当我使用client.run("token")命令运行漫游器时,我的@client.event事件无法正常工作。我的代码是:

import discord 
from discord.ext import commands 

client = commands.Bot(command_prefix=".")

@client.event 
async def on_ready():
    print("Bot is online!")

@client.event 
async def on_member_join(member):
    channel = discord.utils.get(member.guild.channels, name="welcome")
    await channel.send("**{}** just joined the server!".format(member.mention))

@client.event 
async def on_message(message):
    if message.author != client.user:
        await message.channel.send("Hello!")

client.run(token)

如果有人加入我的服务器,则似乎是我的机器人未触发。我不知道问题是什么!我的机器人确实响应了消息,因此on_message事件有效。

我希望有人可以帮助我!

1 个答案:

答案 0 :(得分:0)

好的,我已解决问题!我所做的就是在bot应用程序的Discord开发门户中启用意图。然后,将以下行添加到我的代码中:

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

client = commands.Bot(command_prefix=".", intents=intents)

然后它起作用了!