我试图让我的机器人消息成为新用户,在机器人 API 设置中,我启用了意图并且我有成员意图
@bot.event
async def on_member_join(member):
await member.send('test')
我得到的错误是
Ignoring exception in on_member_join
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
TypeError: on_member_join() missing 2 required positional arguments: 'members' and 'member'
我不知道发生了什么
答案 0 :(得分:0)
您的活动目前似乎没有任何问题,但您似乎没有启用意图。
前往 https://discord.com/developers/applications 并查找您的应用程序。
在类别 Bot
下,您可以找到 Privileged Gateway Intents
。您可以同时激活。
在您的代码中,您必须执行以下操作:
import discord
intents = discord.Intents.default() # Activate intents
intents.members = True # The intent you want
client = commands.Bot(command_prefix="-", intents=intents) # Import Intents
@bot.event
async def on_member_join(member):
await member.send('Welcome to the server.')
print("Member joined.")
如果您完成所有这些步骤,活动应该会成功。
答案 1 :(得分:0)
我认为您必须启用意图
intents = discord.Intents.all() # You need all to use the member join event, also activate them in the developers portal
client = commands.Bot(commands_prefix = '!', intents = intents)