所以,我正在尝试使用最新版本的Discord.Py和Python 3.6.4来检测用户何时加入,它会向他们发送一条消息,欢迎他们。我的代码如下:
@client.event
async def on_member_join(member):
await client.send_message(member,"Welcome!")
这段代码似乎不起作用,我已经查看了其他人是如何做到的,但代码已经过时,无法在API上找到任何关于我如何做到这一点的内容。任何帮助表示赞赏!
主要编辑:好的,所以代码工作正常,但我得到403权限错误。 Bot被重新邀请了全部许可,并且在服务器中有完全许可。所以我不知道为什么会这样。机器人可以随时随地发送消息,但不是特别在on_memer_join(成员)下发送消息......为什么?
答案 0 :(得分:1)
discord.py目前正在经历一些变态。有" async"分支,版本号为0.16,并且"重写"分支,版本号1.0,尚未完成,但许多人已经开始使用了。要找出您正在使用的内容,请尝试运行
import discord
print(discord.__version__)
您发布的代码看起来很适合" async"分支,所以我怀疑你是否正在重写"重写"科。尝试
@client.event
async def on_member_join(member):
await member.send("Welcome!")
重写分支的文档是here
答案 1 :(得分:0)
Discord.py 重写版本,需要开启 Intents
intents = discord.Intents.all()
client = Bot.commands(command_prefix = '', intents = intents)
async def on_member_join(member):
await member.send('Welcome!')
您还必须在机器人应用程序中启用意图。 抱歉,评论晚了。