使用 discord.js 从不同服务器向多个频道 ID 发送消息
Posted
技术标签:
【中文标题】使用 discord.js 从不同服务器向多个频道 ID 发送消息【英文标题】:Sending a message to multiple channel ID's from different servers with discord.js 【发布时间】:2020-12-24 00:50:07 【问题描述】:我正在尝试让我的机器人在它所在的多个服务器中发送欢迎消息。我无法让它工作,任何帮助将不胜感激!
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 代码转换为机器人的实际代码。我的机器人所做的所有其他事情都可以正常工作,但现在我正在尝试接收欢迎消息。
【问题讨论】:
【参考方案1】:您可以使用该成员的属性:https://discord.js.org/#/docs/main/stable/class/GuildMember?scrollTo=guild。
要为欢迎频道创建数组,请使用 var welcomeChannels = [] 定义数组。然后,在就绪事件中,在通道上执行forEach()
循环,并在数组中执行.push()
id。当有人加入时,用另一个for
循环使其在服务器中寻找频道,并在找到服务器中的频道时返回并中断循环。
【讨论】:
现在我只在包括我自己在内的 3 台服务器中使用机器人,有没有办法将 (ch => ch.id === '677397408422035456') 设置为每个通道 id 的数组在数组中? 您是否希望将每个欢迎频道都放入数组中? 现在我不介意将每个通道放入一个数组中。就像我说的,我只在 3 台服务器中使用该机器人,并不打算将机器人变成对任何人来说都是一件大事。以上是关于使用 discord.js 从不同服务器向多个频道 ID 发送消息的主要内容,如果未能解决你的问题,请参考以下文章