【问题标题】:Sending a message to multiple channel ID's from different servers with discord.js使用 discord.js 从不同服务器向多个频道 ID 发送消息
【发布时间】: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 代码转换为机器人的实际代码。我的机器人所做的所有其他事情都可以正常工作,但现在我正在尝试接收欢迎消息。

【问题讨论】:

    标签: javascript discord.js


    【解决方案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 台服务器中使用该机器人,并不打算将机器人变成对任何人来说都是一件大事。
    猜你喜欢
    • 2021-07-27
    • 1970-01-01
    • 2021-02-06
    • 2021-08-21
    • 2020-04-04
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多