Python - 用户加入时发送消息

时间:2018-02-15 05:23:52

标签: python python-3.x discord discord.py

所以,我正在尝试使用最新版本的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(成员)下发送消息......为什么?

2 个答案:

答案 0 :(得分:1)

目前正在经历一些变态。有" 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!')

您还必须在机器人应用程序中启用意图。 抱歉,评论晚了。