如何设置欢迎频道discord.py?

如何设置欢迎频道discord.py?,discord.py,Discord.py,我正在制作一个带有欢迎信息的公共调节机器人,但是我怎样才能让人们设置他们的欢迎频道呢? 我有这个,但它不起作用,它说它设置了频道,但如果有人加入,就没有实际的消息。有人能帮我吗?这是我的代码: async def on_member_join(member): global welcome_channel_dict channel_id = welcome_channel_dict[member.guild.id] await client.get_channel(cha

我正在制作一个带有欢迎信息的公共调节机器人,但是我怎样才能让人们设置他们的欢迎频道呢? 我有这个,但它不起作用,它说它设置了频道,但如果有人加入,就没有实际的消息。有人能帮我吗?这是我的代码:

async def on_member_join(member):
    global welcome_channel_dict
    channel_id = welcome_channel_dict[member.guild.id]
    await client.get_channel(channel_id).send(f'{member.mention} welcome to the Otay! Support server! Enjoy your stay!You said you enabled the intents in the developer portal, did you remember to define intents in the bot code? you need set:

import json

intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix = 'your_prefix', intents = intents)
async def on_member_join(成员):
全球欢迎频道
channel\u id=welcome\u channel\u dict[member.guild.id]

wait client.get_channel(channel_id).send(f'{member.notice}欢迎来到Otay!支持服务器!祝您在这里过得愉快!您说过您在开发人员门户中启用了意图,您记得在bot代码中定义意图吗?您需要设置:

导入json
intents=discord.intents.default()
intents.members=True
client=commands.Bot(command\u prefix='your\u prefix',intents=intents)
Cloud为JSON提供了一个非常好的教程。您可以在代码中执行类似的操作,以便在机器人重置时dict不会重置

在根目录中创建一个“guilds.json”文件。打开该目录,只需添加
{}
即可

@client.event
成员加入时的异步定义(成员):
将open('guilds.json','r',encoding='utf-8')作为f:
行会dict=json.load(f)
频道id=guilds\u dict[str(member.guild.id)]

等待客户端。获取_通道(int(通道id))。发送(f'{member.ntify}欢迎来到Otay!支持服务器!祝您在这里过得愉快!您收到会员加入活动了吗?我想您一定要收到。我收到了,但它仍然不起作用。我只是用我的机器人测试了您的代码,它工作得很好。如果这是您的确切代码,只需确保您在会员加入上添加
@client.event
。哎呀,我忘了o复制顶部的@client.event。但它对我仍然不起作用。我用welcome\u channel\u dict={}在我的脚本的顶部开头,没有,并且它不工作,我不确定我是否遵循了。您遇到了什么错误?您必须定义
welcome\u channel\u dict
,然后您的命令才能查找全局变量。此外,如果您在代码本身中定义dict,然后添加信息,则每次重新启动bo时都会删除所有信息t、 因此,请尝试将信息存储在单独的JSON文件中,然后查找/添加信息