【问题标题】:Discord js: Moving users to different voice channelsDiscord js:将用户移动到不同的语音频道
【发布时间】:2021-08-14 06:44:46
【问题描述】:

有没有什么办法可以让 discord js 机器人将用户转移到不同的语音频道?我在网上看到的一切似乎都过时了,因为我不断收到错误。现在我只是将它硬编码到某个频道以测试它是否可以工作,但它没有。

client.on('message', message => {
    console.log('' + message.author + ': ' + message.content);

    if (!message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).trim().split(" ");
    const c = args;
    for(var i = 0; i < c.length; i++) {
    c[i] = c[i].toLowerCase();
    }

    if (c[0] === 'movevoice'){
        if(!message.mentions.members.first()){
            message.author.voice.setChannel(762760164364648479)
        }else{
            const member = message.mentions.members.first();
            member.voice.setChannel(762760164364648479);
        }
    }

【问题讨论】:

  • 频道 ID 必须是字符串 ('762760164364648479'),而不是数字 (762760164364648479)
  • 它给了我错误“TypeError: cannot read property 'setChannel' of undefined”
  • message.author.voice.setChannel() 更改为message.member.voice.setChannel()More information
  • 我设法让它工作。非常感谢!

标签: javascript discord.js


【解决方案1】:

我已经重新开发了一个代码,以使其正常工作,并添加一些您可能会觉得有用的附加功能,代码如下:

client.on('message', message => {
let args = message.content.trim().split(/ +/g)
if(args[0].toLowerCase() === prefix + 'movevoice') {

if(!message.guild)return;
if(message.author.bot)return;

let u = message.author.id
if(args[1]) {
if(!message.guild.members.cache.get(`${args[1]}`.replace(/<@/g, '').replace(/!/g, '').replace(/>/g, ''))return;
u = `${args[1]}`.replace(/<@/g, '').replace(/!/g, '').replace(/>/g, '')
}

message.guild.members.cache.get(u).voice.setChannel('762760164364648479').catch(error=>{return;})

}
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 2018-10-07
    • 2019-09-20
    • 2020-10-04
    • 2021-05-03
    • 2020-07-29
    • 2020-12-21
    • 2020-11-03
    相关资源
    最近更新 更多