Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-在用户加入时发送消息_Python_Python 3.x_Discord_Discord.py - Fatal编程技术网

Python-在用户加入时发送消息

Python-在用户加入时发送消息,python,python-3.x,discord,discord.py,Python,Python 3.x,Discord,Discord.py,因此,我尝试在最新版本的Discord.Py和Python3.6.4中检测用户何时加入,它将向他们发送欢迎他们的消息。我的代码如下: @client.event async def on_member_join(member): await client.send_message(member,"Welcome!") 这段代码似乎不起作用,我已经查过其他人是怎么做的,但是代码已经过时了,在API上也找不到关于我将如何做的任何东西。感谢您的帮助 主要编辑:好的,代码工作正常,但我得到了4

因此,我尝试在最新版本的Discord.Py和Python3.6.4中检测用户何时加入,它将向他们发送欢迎他们的消息。我的代码如下:

@client.event
async def on_member_join(member):
    await client.send_message(member,"Welcome!")
这段代码似乎不起作用,我已经查过其他人是怎么做的,但是代码已经过时了,在API上也找不到关于我将如何做的任何东西。感谢您的帮助

主要编辑:好的,代码工作正常,但我得到了403权限错误。已以完全权限重新邀请Bot,并且服务器中的Bot具有完全权限。所以我不知道为什么会这样。bot可以随时随地发送消息,但不能在on_memer_join(member)。。。为什么?

目前正在经历一点蜕变。有版本号为0.16的“异步”分支,还有版本号为1.0的“重写”分支,虽然还没有完全完成,但许多分支已经开始使用。要想知道你在用什么,试着跑步

import discord
print(discord.__version__)
您发布的代码对于“异步”分支看起来不错,所以我怀疑您是在“重写”分支上。试一试

@client.event
async def on_member_join(member):
    await member.send("Welcome!")

重写分支的文档是

对于Discord.py的重写版本,您需要启用意图


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

async def on_member_join(member):
    await member.send('Welcome!')
您还必须在bot应用程序中启用意图。
抱歉,这是一个迟到的评论。

你说的“不起作用”是什么意思。你有错误吗?另外,您使用的是哪个discord.py,重写还是异步?检查版本我正在使用的版本:0.16.2(我,呃,假设是异步的)我刚刚运行了pip install Discord.py这对我不起作用,它继续给出错误:“Member”没有属性“send”(虽然我发誓有),你知道你使用的是哪个版本吗?您的原始代码给出了什么错误?它给了我一个403权限拒绝错误..'无法将消息发送到此用户的版本0.16.12您的代码没有问题。将bot添加到服务器时,您没有授予它发送私人邮件所需的权限。从服务器上删除bot,然后使用正确的权限再次添加它。如何授予它权限?如果你是说在服务器上,它完全有权限。我试图重新邀请它,但它不要求任何权限,我需要写一些代码吗?