Javascript 如何将消息发送到特定的discord频道?
你好,我刚刚开始创建一个discord机器人。我有一段代码,是我从网上的教程中复制的,当我输入Javascript 如何将消息发送到特定的discord频道?,javascript,discord,discord.io,Javascript,Discord,Discord.io,你好,我刚刚开始创建一个discord机器人。我有一段代码,是我从网上的教程中复制的,当我输入!在我的discord服务器上的任何地方播放,它都会有一个机器人说:“@我们正在玩的每个人!:)” 我希望它能在我输入时正常工作!在bot频道中播放,它会提示正在查找游戏频道。我将粘贴我的全部代码,但我认为重要的部分是: bot.sendMessage({ to: channelID, message: '@everyone The Owner, Admins and The OGs are p
!在我的discord服务器上的任何地方播放
,它都会有一个机器人说:“@我们正在玩的每个人!:)”
我希望它能在我输入时正常工作!在bot频道中播放
,它会提示正在查找游戏频道
。我将粘贴我的全部代码,但我认为重要的部分是:
bot.sendMessage({
to: channelID,
message: '@everyone The Owner, Admins and The OGs are playing Mass Effect Andromeda! Come play with them! :smiley:'
});
有没有办法让它发送到特定频道而不是channelID
?下面是解决方案需要的全部代码
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true
});
bot.on('ready', function(evt) {
logger.info('Connected');
logger.info('Logged in as: ');
logger.info(bot.username + ' - (' + bot.id + ')');
});
bot.on('message', function(user, userID, channelID, message, evt) {
// Our bot needs to know if it will execute a command
// It will listen for messages that will start with `!`
if (message.substring(0, 1) == '!') {
var args = message.substring(1).split(' ');
var cmd = args[0];
args = args.splice(1);
switch (cmd) {
// !play
case 'play':
bot.sendMessage({
to: channelID,
message: '@everyone The Owner, Admins and The OGs are playing Mass Effect Andromeda! Come play with them! :smiley:'
});
break;
// Just add any case commands if you want to..
}
}
});
你必须获得公会对象,然后从中获得通道对象,然后向其发送消息 如果是一个命令触发了这一点,而你在你的
bot.on(“消息”)
,如果启用,您可以执行message.channel.send(“message”)
!您希望它发送到特定频道的命令,可以执行message.guild.channel.get(“channel-ID”).send(“message”)代码>
你也可以做message.guild.channel.find(“name”,“channel name”).send(“message”)代码>虽然通常不这样做,但最好按ID查找
如果你不是,你必须这样做:
你必须获得公会对象,然后从中获得通道对象,然后向其发送消息
如果是一个命令触发了这一点,而你在你的bot.on(“消息”)
,如果启用,您可以执行message.channel.send(“message”)
!您希望它发送到特定频道的命令,可以执行message.guild.channel.get(“channel-ID”).send(“message”)代码>
你也可以做message.guild.channel.find(“name”,“channel name”).send(“message”)代码>虽然通常不这样做,但最好按ID查找
如果你不是,你必须这样做:
可能的重复可能的重复
bot.guilds.get('GUILD-ID').channels.get('CHANNEL-ID').send("Message");