Python 不和谐机器人赢了';当用户到达时,不要向频道发送消息

Python 不和谐机器人赢了';当用户到达时,不要向频道发送消息,python,discord,discord.py,bots,Python,Discord,Discord.py,Bots,随着新用户的到来,我遇到了机器人无法向特定频道发送消息的问题,我尝试了很多方法。代码如下: import discord from discord.ext import commands TOKEN = "Random token string" PREFIX = "!" client = commands.Bot(command_prefix = PREFIX, case_insensitive = True) @client.event asy

随着新用户的到来,我遇到了机器人无法向特定频道发送消息的问题,我尝试了很多方法。代码如下:

import discord

from discord.ext import commands

TOKEN = "Random token string"
PREFIX = "!"

client = commands.Bot(command_prefix = PREFIX, case_insensitive = True)

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_member_join(member):
   print("it should work")
   await client.get_channel(Int channel ID).send(f"{member.name} has joined")

client.run ("Some random token")

我没有收到任何错误,但是on_member_join函数没有向指定频道发送消息的原因是什么?

可能您没有听说网关的意图。它很“新”

在您的情况下,您希望在成员加入公会时跟踪他们,因此您需要启用
成员
特权意图才能跟踪它

下面是一个关于如何实现它的小例子

intents=discord.intents().default()
intents.members=True#启用成员特权意图
#将意图添加到bot对象
client=commands.Bot(command\u prefix=prefix,不区分大小写=True,intents=intents)
确保已在Discord上为您的bot启用成员特权意图。 正如你在这张照片上看到的

如果您需要更多帮助,请点击以下链接:


祝您度过美好的一天,并愉快地编码^ ^

也许您还没有听说网关的意图。它很“新”

在您的情况下,您希望在成员加入公会时跟踪他们,因此您需要启用
成员
特权意图才能跟踪它

下面是一个关于如何实现它的小例子

intents=discord.intents().default()
intents.members=True#启用成员特权意图
#将意图添加到bot对象
client=commands.Bot(command\u prefix=prefix,不区分大小写=True,intents=intents)
确保已在Discord上为您的bot启用成员特权意图。 正如你在这张照片上看到的

如果您需要更多帮助,请点击以下链接:


祝您有一个美好的一天,并祝您编码愉快。^^

顺便说一句,它被称为
意图
而不是
不区分大小写

来自discord导入意图的

从不和谐的进口游戏,意图
从discord.utils导入获取
进口不和
从discord.ext导入命令
@客户端事件
成员加入时的异步定义(成员):
如果member.guild.name=='server name':#请确保大写和空格正确
embed=discord.embed(title=f'welcome{member.antify}!\n欢迎来到{member.guild.name}',
颜色=0x0061ff)
嵌入.set_缩略图(url=ctx.author.avatar_url)
等待客户端。获取通道(通道id)。发送(嵌入=嵌入)#确保通道id正确
#您可以添加更多这些
其他:
返回

这应该可以工作,顺便说一句,它被称为
意图
而不是
不区分大小写

来自discord导入意图的

从不和谐的进口游戏,意图
从discord.utils导入获取
进口不和
从discord.ext导入命令
@客户端事件
成员加入时的异步定义(成员):
如果member.guild.name=='server name':#请确保大写和空格正确
embed=discord.embed(title=f'welcome{member.antify}!\n欢迎来到{member.guild.name}',
颜色=0x0061ff)
嵌入.set_缩略图(url=ctx.author.avatar_url)
等待客户端。获取通道(通道id)。发送(嵌入=嵌入)#确保通道id正确
#您可以添加更多这些
其他:
返回

您是否通过开发人员门户启用了成员意图,并在代码中定义了成员意图?会员加入活动需要这一点,即使你可能只是向一个渠道发送消息。是的,我启用了bot的所有设置,基本上给了它完全的管理模式,但显然它与下面的评论者给我的代码片段有关,它神奇地工作了。您是否通过开发人员门户启用了成员意图并在代码中定义了成员意图?会员加入活动需要这一点,即使你可能只是向一个渠道发送消息。是的,我启用了bot的所有设置,基本上给了它完全的管理模式,但显然它与下面的评论者给我的代码片段有关,它神奇地工作了。你还应该在你的discord Developer portal设置中启用意图。你还应该在你的discord Developer portal设置中启用意图。我尝试了类似于添加意图的方法,但没有成功,但出于某种奇怪的原因,我添加了你的片段,经过这么长时间的尝试终于成功了!我真的很感激,谢谢!我尝试了一些与添加意图类似的东西,但它不起作用,但出于某种奇怪的原因,我添加了您的代码片段,经过这么长时间的尝试,终于成功了!我真的很感激,谢谢!