首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不和谐的机器人不会在人耳聋的时候动起来

不和谐的机器人不会在人耳聋的时候动起来
EN

Stack Overflow用户
提问于 2022-02-22 09:44:42
回答 1查看 51关注 0票数 0

基本上,我试着让我的机器人在人们耳聋的时候马上把他们转移到afk,但是当我测试的时候什么也没有发生。我曾经用过console.log当人耳聋,但仍然什么也没有。

代码:

代码语言:javascript
运行
复制
const Discord = require("discord.js");

const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_VOICE_STATES", "GUILD_MEMBERS", "GUILD_PRESENCES"] });



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


    let memchange = newState.member;
    if (memchange.selfDeaf)
    {
        console.log('User has deafened');
        memchange.setChannel(afkchannelid);
    }
});



client.once('ready', () => {
    console.log('Discord bot is now online')
    
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-22 10:43:26

我最初认为您的问题可能是一个简单的意图问题,但是,经过进一步的调查,这是一个有关您使用newState.member.selfDeaf的问题。更正后的代码如下所示,并作了简短解释:

看一看关于Discord.js的官方voiceState文档

从您所做的工作来看,您正在尝试访问newState.member.selfDeaf,而newState.member没有一个selfDeaf属性(GuildMember文档);因此if语句不会计算为true,也不会运行。

代码语言:javascript
运行
复制
const Discord = require("discord.js");

const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_VOICE_STATES", "GUILD_MEMBERS", "GUILD_PRESENCES"] });



client.on("voiceStateUpdate", (oldState, newState) =>
{
    if (newState.selfDeaf)
    {
        console.log('User has deafened');
        newState.member.setChannel(afkchannelid);
    }
});



client.once('ready', () => {
    console.log('Discord bot is now online')
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71219003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档