discord - 创建通道切换记录器
问题描述
我正在尝试创建一个频道切换记录器,它允许我指定发布消息的频道。
因此,例如,我创建了一个名为“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");
}
});
解决方案
您的机器人没有响应,因为客户端未正确初始化。您正在创建这样的客户端:
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);
推荐阅读
- testing - PM2 Testcafe fs 操作导致崩溃
- scala - 关于在 scala 中使用 spark 数据框的说明
- wordpress - 如何在我的网站上显示这样的 Woocommerce 定价变量?
- java - 我想通过递归算法在链表中找到最大节点,但我的代码有问题
- python - 按二维索引对三维 numpy 数组进行排序
- uwp - UWP 性能:Task.Run() 与后台服务
- javascript - Javascript:是否只有一页的 sessionStorage 或 localStorage 之类的东西?
- c# - 如何使用 foreach 终止和重新启动
- node.js - 为什么微软用 NodeJS 而不是 .NET 制作 Visual Studio Code?
- javascript - IE 11 不加载 JS 脚本(将其从开发者工具的脚本列表中删除)