我正在尝试让我的机器人在其中的多台服务器中发送欢迎消息。我无法使它正常工作,将不胜感激!
client.on('guildMemberAdd', member => {
/// Send the message to a designated channel on a server
const channel = member.guild.channels.cache.find(ch => ch.id === '677397408422035456');
/// Do nothing if the channel wasn't found on this server
if (!channel) return;
/// Send the message, mentioning the member
channel.send(`Welcome to the server, ${member}!`);
现在我正在使用通道ID,但我认为使用服务器ID会更好,然后仅将消息发送到该服务器上的默认通道。我认为这可能与以下内容类似:
when member joins server
get server ID
get default channel
send welcome message to default channel of server tagging the user
我不太精通javascript,所以我不太确定如何将sudo代码转换为机器人的实际代码。我的机器人所做的所有其他事情都可以正常工作,但是现在我正在尝试获取欢迎消息。
答案 0 :(得分:0)
您可以使用成员的以下属性:https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=guild。
要为欢迎频道创建数组,请使用var welcomeChannels = []定义数组。然后,在就绪事件中,在通道上进行forEach()
循环,并将.push()
的id放入数组。当某人加入时,使其具有另一个for
循环来查找服务器中的频道,并在找到服务器中的频道时返回并中断该循环。