Discord js:将用户转移到不同的语音渠道

时间:2020-10-06 19:59:30

标签: javascript discord.js

有什么办法可以让不和谐的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);
        }
    }

1 个答案:

答案 0 :(得分: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;});
    }
});