python - On_member_join,缺少 2 个必需的位置参数:“members”和“member”
问题描述
我试图让我的机器人消息成为新用户,在机器人 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'
我不知道发生了什么事
解决方案
目前您的事件似乎没有任何问题,但您似乎没有启用意图。
前往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.")
如果您完成所有这些步骤,该事件应该可以工作。
推荐阅读
- batch-file - 有没有办法同时运行这两个批处理脚本?在同一个文件上,合并
- java - java中是否有任何公共/全局变量?
- pandas - 如何在熊猫数据框中交换行和列
- javascript - 从钩子问题中为每个元素调用的函数
- git - git push 命令与 master 和 main 冲突
- sql - SQL查询以选择具有改变粒度的记录
- python - Python YYYY-MM-DD hh:mm:ss.fff-zz:xx 格式化日期时间问题
- jenkins - 如何将 Jenkins 文件系统列表参数选择值传递给 Execute shell
- python - argparse 处理 bash 命令中的字符串和空格
- mysql - 如果该列具有相同的值,则只查询一次记录并获取第一条记录