即使该bot在服务器中并且在线,discord.py on_member_join也不起作用

时间:2020-11-07 08:41:38

标签: python discord discord.py

我一直试图制造一个不和谐的机器人,但是我遇到on_member_join函数的问题。该机器人已获得管理员权限,控制台中也不会出现错误

这是代码

import discord
intents = discord.Intents.default()
intents.members = True
client = discord.Client()

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')


@client.event
async def on_member_join(member):
    await member.send('welcome !')

client.run('TOKEN')

2 个答案:

答案 0 :(得分:1)

您需要在Client()初始化程序中传递意图

下面是修改后的代码:

import discord
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')


@client.event
async def on_member_join(member):
    await member.send('welcome !')

client.run('TOKEN')

答案 1 :(得分:0)

尝试使用意图。在此版本中,您将需要使用意图。

https://discordpy.readthedocs.io/en/latest/api.html?highlight=intents#discord.Intents

意图是discord.py版本1.5.0 +中所需的新功能+ 如果您的机器人没有使用意图,而您正在使用诸如on_member_join()之类的事件,那么它将无法正常工作!

import discord
from discord.ext import commands

intents = discord.Intents.all()
bot = commands.Bot(command_prefix='?', intents=intents)