我花了3个小时来构建和调整Node.js Web爬虫,并花了4个小时来尝试寻找一种怪异的方式来向Discord上的频道广播消息。我现在已经失去了所有希望...
这是我的代码,某些部分可以正常工作,例如回复邮件。但是我找不到任何可能的方式来发送一条消息,而不会将该消息作为答复。
[
{
"id" : "5bcebb6efeaea3147b7a22f0",
"imgId" : "12710.png",
"visible" : "all"
},
{
"id" : "5bcebbf0feaea3147b7a22f1",
"imgId" : "62818.png",
"visible" : "fav"
},
{
"id" : "5bcec010feaea3147b7a22f2",
"imgId" : "36740.png",
"visible" : "none"
}
],
答案 0 :(得分:1)
这可能是由于您在登录僵尸程序之前运行代码所致。
在漫游器发出ready事件之后,必须执行所有操作,在ready
事件之外,您唯一可以做的就是定义其他事件侦听器。
尝试将您的部分代码放在ready
事件侦听器中,或将该事件调用的函数中:
client.on('ready', () => {
console.log("Your stuff...");
});
// OR
function partA () {...}
function partB () {...}
client.on('ready', () => {
partA();
console.log("Your stuff...");
partB();
});
// OR
function load() {...}
client.on('ready', load);
根据您的情况:
client.on('ready', () => { // once the client is ready...
let guild = client.guilds.get('guild id here'); // ...get the guild.
if (!guild) throw new Error("The guild does not exist."); // if the guild doesn't exist, exit.
let channel = guild.channels.get('channel id here'); // if it does, get the channel
if (!channel) throw new Error("That channel does not exist in this guild."); // if it doesn't exist, exit.
channel.send("Your message here.") // if it does, send the message.
});
client.login('your token here')
答案 1 :(得分:0)
尝试:
bot.channels.find(channel => channel.id === '504658757419270144').send('Your-message');
此外,如果您要向其发送消息的频道位于机器人公会中,则可以使用:
bot.on('message' (msg) => {
msg.guild.channels.find(channel => channel.name === 'your-channel-name').send('your-message');
});