创建通道切换记录器
Posted
技术标签:
【中文标题】创建通道切换记录器【英文标题】:Create Channel Switch Logger 【发布时间】:2019-01-12 07:07:39 【问题描述】:我正在尝试创建一个频道切换记录器,它允许我指定发布消息的频道。
因此,例如,我创建了一个名为“Channel Switches”的 TextChannel。现在当用户更改语音频道时,应该在此频道中显示一条消息。 (例如<USER> left channel <CHANNEL> and joined <CHANNEL>.
)
我的问题是:我没有收到任何错误,并且 Bot 没有响应...
这是我的第一次尝试:
var Discord = require('discord.js');
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 + ")");
console.log("Logged in as $client.user.tag!");
);
bot.on('voiceStateUpdate', (oldMember, newMember) =>
let newUserChannel = newMember.voiceChannel
let oldUserChannel = oldMember.voiceChannel
if (!oldUserChannel && newUserChannel)
bot.channels.get('475330828466126848').send("User went form Channel" + oldUserChannel.name + "to the new" +
newUserChannel.name + "Channel");
);
【问题讨论】:
请通过编辑您的问题描述这段代码的问题 我写了我的问题中的问题:) 【参考方案1】:您的机器人没有响应,因为客户端未正确初始化。您正在像这样创建客户端:
var bot = new Discord.Client(
token: auth.token, // <--
autorun: true // <--
);
问题是这些参数在 discord.js 中不存在,正如 Client docs 所述。
要登录您的机器人,请使用Client.login()
:
var bot = new Discord.Client();
bot.login(auth.token);
【讨论】:
谢谢你,伙计,它成功了!现在如果我加入一个频道它可以工作,但是当我切换一个频道时它就不能工作。还有其他方法吗?问候 @Solu 很高兴听到这个消息:)以上是关于创建通道切换记录器的主要内容,如果未能解决你的问题,请参考以下文章