javascript - DiscordJS 语音 channel 信息不更新

标签 javascript node.js discord discord.js

我的代码:

// not very relevant stuff
const {
  SlashCommandBuilder
} = require('@discordjs/builders');
const {
  MessageEmbed
} = require('discord.js');
const tip = require('../../tips/randomtip')
const fs = require('fs')

{
  const status = require('./status')
  if(status.inUsed = true){
    status.inUsed = false
    fs.writeFileSync( './commands/music/status.json', JSON.stringify(status,null,2))
  }
}


// very relevant stuff
module.exports = {
  data: new SlashCommandBuilder()
  .setName('join')
  .setDescription('Join the voice channel you are in'),
  async execute(interaction) {

    const voice = interaction.member.voice
    // console.log(voice)
    console.log(voice.channel)
  },
};

问题是 voice.channel 保持不变(我没有检查它们是否完全相同,但 channel 名称和 channel 是相同的,因为这很重要)

我正在使用 discord.js v13 最新版本所以不要质疑我

最佳答案

如果您遇到的问题是 member.voice 变量在机器人首次启动后没有更新,解决方案可能是添加 GUILD_VOICE_STATES 意图客户端构建。

这是一个如何做到这一点的例子:

const client = new Client ({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_VOICE_STATES] });

添加 intents.FLAGS.GUILD_VOICE_STATES 应该使 member.voice 在用户更改语音 channel 时正确更新。

关于javascript - DiscordJS 语音 channel 信息不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69199005/

相关文章:

Javascript递归函数返回未定义而不是预期结果

node.js - 为什么 rxjs 一直不是正确的版本?

node.js - TypeError : (depth0 || container. hooks.helperMissing).call 不是函数

javascript - 如何使用 JavaScript 检查多个复选框?

javascript - JSON Stringify 从对象中删除数据

javascript - 如何使用 javascript 变量使用 jQuery 隐藏元素

javascript - Discord 机器人不回复消息

node.js - (如何)我应该销毁 uv_async_t 吗?

javascript - 命令处理程序中的 Discord.js 音乐机器人

java - Discord-JDA:如何获取加入服务器的用户的数据?