第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢測成員何時加入和離開語音頻道

如何檢測成員何時加入和離開語音頻道

幕布斯6054654 2023-08-18 14:31:43
我正在開發(fā)一個不和諧的機器人,它需要檢測用戶何時加入和離開頻道。我已經(jīng)在第 4 行嘗試過這個,因為如果用戶的連接沒有改變,它就不會運行。但這是行不通的。這是我的整個代碼部分。client.on('voiceStateUpdate', (oldState, newState) => {// check for botif (oldState.member.user.bot) return;if (oldState.member.voice === newState.member.voice) return;//<- hereclient.channels.cache.get('777782275004825640').send(`${oldState.member} joined`);});我也嘗試過.connection但它不適用于我當前的設(shè)置。任何幫助都會很棒!
查看完整描述

2 回答

?
萬千封印

TA貢獻1891條經(jīng)驗 獲得超3個贊

我找到了!經(jīng)過一些測試,我發(fā)現(xiàn)當頻道更新時,會發(fā)生以下四種情況之一。

  1. 如果用戶加入則oldState.channelID返回null

  2. 如果用戶返回newState.channelIDnull

  3. 如果用戶將自己靜音或被震聾,則oldState.channelID等于newState.channelID

  4. 如果用戶移動的頻道 oldState.channelID不等于newState.channelID

Discord.Client()的設(shè)置為client,所以如果你的不同,請更改

client.on('voiceStateUpdate', (oldState, newState) => {

    if(oldState.channelID === newState.channelID) {

        console.log('a user has not moved!')

    }

    if(oldState.channelID != null && newState.channelID != null && newState.channelID != oldState.channelID) {

        console.log('a user switched channels')

    }

    if(oldState.channelID === null) {

        console.log('a user joined!')

    }

    if (newState.channelID === null) {

        console.log('a user left!')

    }

});


查看完整回答
反對 回復(fù) 2023-08-18
?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

嘗試這個片段,請讓我知道它對你有什么作用。


let oldChannel = oldState.voiceChannel;

let newChannel = newState.voiceChannel;


if(oldChannel === undefined && newChannel !== undefined) {

  // User has joined a channel

} else if(newChannel === undefined) {

  // User has left a channel

}


查看完整回答
反對 回復(fù) 2023-08-18
  • 2 回答
  • 0 關(guān)注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號