【问题标题】:How to make bot autorole when someone join voice channel?有人加入语音频道时如何制作机器人自动语音?
【发布时间】:2020-09-26 00:16:00
【问题描述】:

当用户加入特定语音频道时,如何让我的机器人赋予角色?

const team1role = message.guild.roles.find((role) => role.name === "Team 1");
const team1members = team1role.members;

const chan1 = message.guild.channels.find((channel) => channel.name === "Team 1")

team1members.forEach((member) => {
  member.setVoiceChannel(chan1);
});

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    您需要进入主文件(与放置 client.login(TOKEN) 函数的位置相同)并创建一个新事件:

    client.on('voiceStateUpdate', (oldState, newState) => {
        if (!newState.channel || !newState.member) return; // Triggered if the user left a channel
        const testChannel = newState.guild.channels.cache.find(c => c.name === 'Team 1');
        if (newState.channelID === testChannel.id) { // Triggered when the user joined the channel we tested for
            const role = newState.guild.roles.cache.find(r => r.name === 'Team 1');
            if (!newState.member.roles.cache.has(role)) newState.member.roles.add(role); // Add the role to the user if they don't already have it
        }
    });
    

    【讨论】:

    • @HypexBot 我确实忘记了最后一行的括号。我编辑了我的代码,现在应该可以更好地工作了
    • 'member' 现在没有定义。
    • 本部分 member.roles.add(role)
    • @HypexBot 对不起,今晚我很笨,现在应该可以工作了
    • @HypexBot 也许是我刚刚应用的另一个小修复?
    猜你喜欢
    • 2021-07-13
    • 2023-02-25
    • 1970-01-01
    • 2020-09-05
    • 2020-07-16
    • 2020-08-30
    • 1970-01-01
    • 2021-12-06
    • 2020-10-15
    相关资源
    最近更新 更多