Аудит голосового канала-журнал

#javascript #discord.js

Вопрос:

       let newUserChannel = newMember.voiceChannel
      let oldUserChannel = oldMember.voiceChannel


      if(oldUserChannel === undefined amp;amp; newUserChannel !== undefined) {
      send_log(
        c,
        newMember.guild,
        "RED",
        "Voice Channel",
        `${newMember.user} has joined ${newUserChannel}`

      )
     } else if(newUserChannel === undefined){
      send_log(
        c,
        newMember.guild,
        "RED",
        "Voice Channel",
        `${newMember.user} has left'd ${oldUserChannel}`
      )
    // User leaves a voice channel

  }
})
 

Не приводя никаких ошибок. Но после того, как пользователь покидает или присоединяется к любому VC, он говорит это.
${newMember.user} является undefined воспитанием, и ${oldUserChannel} это также воспитывает неопределенное.

Комментарии:

1. ждем комментариев…

Ответ №1:

Вот краткий код, который может вам помочь

 client.on('voiceStateUpdate', async (oldM, newM) => {
    if(!oldM.channel amp;amp; newM.channel) {
        send_log(
        c,
        newM.guild,
        "RED",
        "Voice Channel",
        `${newM.member.user} joined ${newM.channel.name}`
         )
    } else if(oldM.channel amp;amp; newM.channel amp;amp; oldM.channel?.id !== newM.channel?.id) {
        send_log(
        c,
        newM.member.guild,
        "RED",
        "Voice Channel",
        `${newM.member.user} switched from ${oldM.channel.name} to ${newM.channel.name}`
         )
    } else if(oldM.channel amp;amp; !newM.channel) {
        send_log(
        c,
        newM.guild,
        "RED",
        "Voice Channel",
        `${newM.member.user} left ${oldM.channel.name}`
         )
    }
})
 

Я не знаю, что c это такое, так что вам, возможно, придется где-то это определить.

Комментарии:

1. Кто угодно… пожалуйста, помогите мне с отступами, я нахожусь на мобильном телефоне и все еще учусь (если это хорошо, в чем я сомневаюсь, просто скажите мне).

2. Это выглядит нормально, вот как я вижу это на компьютере. Я лично также сделал бы отступы в строках внутри send_log() вызовов функций. Но, я думаю, это зависит от предпочтений. Если вы хотите, чтобы я предложил отредактировать это, дайте мне знать. Я бы также, возможно, использовал меньше места для отступов, чтобы они не занимали так много горизонтального пространства.

3. Еще раз спасибо за ответ @MrMythical, но… Необработанное предупреждение об ошибке: Ошибка типа: Не удается прочитать свойство «канал» неопределенного

4. Это здорово! Кстати, @MrMythical, вам, вероятно, следует обновить свой ответ информацией из комментариев.

5. Я обновил его. Спасибо, что сообщили мне об этом.