eje*_*jer 3 javascript discord discord.js
我见过很多机器人在加入时都有问候语。它通常发送到服务器的第一个通道。
例如:
机器人加入公会
机器人:喂!谢谢你邀请我!
我现在的代码非常简单:
client.on("guildCreate", guild => {
the code goes here
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何向随机(第一个)频道发送消息。如果有人能告诉我其他机器人是如何做到的,我会非常感激。
编辑:截至 2020 年 9 月 27 日,使用 Discord.js 版本 12.3.1,我只需要添加对 的引用cache即可获得正确的频道并确保迭代正确进行。
我使用的是 Discord.js 版本 11.4.2,并且能够使用以下代码向#general 频道发送默认消息。用bot你client的名字替换下面的内容。
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.on("guildCreate", guild => {
let channelID;
let channels = guild.channels.cache;
channelLoop:
for (let key in channels) {
let c = channels[key];
if (c[1].type === "text") {
channelID = c[0];
break channelLoop;
}
}
let channel = guild.channels.cache.get(guild.systemChannelID || channelID);
channel.send(`Thanks for inviting me into this server!`);
});
Run Code Online (Sandbox Code Playgroud)
编辑:我发现guild.systemChannelID可以,null所以我更新了代码以搜索第一个文本频道并将其用于初始消息。