所以我有一个机器人,它执行命令/ say时会说我想说的话,然后删除我的信息。由于它在技术上仍然可以发送我的消息,因此人们可以通过通知看到它,并且可以说是由我使机器人发送了文本。我正在和朋友们一起玩,这很有趣,所以我想找出一种方法,让机器人从隐藏的文本通道中获取我的/ say命令,并将其放入常规通道中。
const Discord = require('discord.js') //Discord package
const client = new Discord.Client(); //New Discord Client
const prefix = '/'; //command prefix
client.on('ready', () => {
console.log('Bot is Online.');
});
client.on('message', message => {
if(message.member.roles.find('name', 'Bot')){ //only role 'Bot' can use the command
if (message.author.bot) return undefined; //bot does not reply to itself
let msg = message.content.toLowerCase();
let args = message.content.slice(prefix.length).trim().split(' '); //arguements
let command = args.shift().toLowerCase(); //shifts args to lower case letters
if (command === 'say'){
let say = args.join(' '); //space
message.delete(); //deletes the message you sent
message.channel.send(say);
}
}
});
到目前为止,这是我的代码,我已经将其用于我想要的工作。我只需要有关如何将隐藏频道的消息复制到普通频道的帮助
答案 0 :(得分:1)
假设您有一个名为general
的频道。
以下内容将向其发送消息:
client.on('message', message => {
if (message.author.bot) return undefined //bot does not reply to itself
let msg = message.content.toLowerCase()
let args = message.content
.slice(prefix.length)
.trim()
.split(' ') //arguements
let command = args.shift().toLowerCase() //shifts args to lower case letters
if (command === 'say') {
let say = args.join(' ') //space
message.delete() //deletes the message you sent
const generalChannel = message.guild.channels.find(channel => channel.name === "general")
generalChannel.send(say)
}
})