首页 > 解决方案 > 当有人加入特定频道时发送消息 - Discord Bot

问题描述

我制作了一个 Discord 机器人,用于在有人加入特定频道时发送消息,但当用户将麦克风静音时它也会发送消息。怎么了?

您可以在下面找到我当前的代码:

client.on('voiceStateUpdate', (oldMember, newMember) => {
    let newUserChannel = newMember.channelID;
    let oldUserChannel = oldMember.channelID;

    const channel2 = client.channels.cache.get('channelid here');
 
    if(newUserChannel === "channelid here")
    { 
        // User Joins a voice channel
        channel2.send("message");
    }
 });

标签: javascriptdiscorddiscord.jsbots

解决方案


您还应该检查频道是否发生了变化,因此请检查 与newMember.channelID是否不同oldMember.channelID

client.on('voiceStateUpdate', (oldMember, newMember) => {
  let newUserChannel = newMember.channelID;
  let oldUserChannel = oldMember.channelID;

  const channel2 = client.channels.cache.get('channelid here');

  if (
    newUserChannel !== oldUserChannel &&
    newUserChannel === 'channelid here'
  ) {
    // User Joins a voice channel
    channel2.send('message');
  }
});

推荐阅读