我编写了代码,以便可以代表机器人以不和谐的方式编写代码。但是,当我在主要渠道中编写内容以使该机器人将该消息发送到另一个渠道时,我的机器人会在我编写该内容的位置进行写信,并开始发送垃圾邮件并添加自己的提及内容,尽管在代码中我不是向他指出,而是由写信人此消息。
这是代码的样子。
bot.on('message', async message => {
if (message.channel.id === "735573900251103244") {
let csl1 = message.channel.name.split("-")[0];
let csl2 = message.channel.name.split("-")[1];
let logs = bot.guilds.cache.get("611212397226491904").channels.cache.get("611215326566416416");
if (message.author.id === "546359252575322122") {
message.channel.send(message.content);
} else {
message.channel.send(`<@!${message.author.id}>` + `${message.content}`);
}
return;
}
if (message.author.bot) return;
if (message.channel.type === "dm") return;
let args = message.content.slice(prefix.length).trim().split(' ');
let help = args.shift().toLowerCase();
let cmd;
if (!message.content.startsWith(prefix)) return;
if(bot.commands.has(help)) {
cmd = bot.commands.get(help);
} else {
cmd = bot.commands.get(bot.aliases.get(help));
}
if (cmd) cmd.run(bot, message, args);
});
答案 0 :(得分:1)
您必须将对message.author.bot的检查重新排序到seblor提到的函数的开头。
此外,message.channel
指的是漫游器接收消息的通道。为了将消息发送到不同的通道,您必须执行以下操作:< / p>
// https://discord.js.org/#/docs/main/stable/class/ChannelManager?scrollTo=fetch
bot.channels.fetch(targetchannelid).then((chan) => {
chan.send("blah blah blah");
});