如果用户切换语音频道,则向频道发送消息



我用这种方式尝试过,但机器人给了我一个错误:

let newUserChannel = newMember.voiceChannel 
^ 
TypeError: Cannot read property 'voiceChannel' of undefined
bot.on('voiceStateUpdate', (oldMember, newMember) => {
let newUserChannel = newMember.voiceChannel
let oldUserChannel = oldMember.voiceChannel

if(oldUserChannel === undefined && newUserChannel !== undefined) {
bot.sendMessage({
to: "475330828466126848",
message: "User went form Channel" + oldUserChannel + "to the new" 
+ newUserChannel + "Channel"
});
}
})

它不起作用。

我的目标是将所有语音频道切换记录在我为此制作的一个文本频道中。


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 + ")");
});
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");
}
});

bot.sendMessage已弃用。

试试这个:

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");
}
})

请下次指定您的错误。我使用了.send属性将您的消息发送到此频道。

最新更新