【问题标题】:TypeError: Cannot read porperty 'setVoiceChannel' of undefined | Trying to move a user with discord.jsTypeError:无法读取未定义的属性“setVoiceChannel”|尝试使用 discord.js 移动用户
【发布时间】:2019-10-10 14:48:23
【问题描述】:

我正在使用 discord.js API,我正在尝试使用 setVoiceChannel 方法在某个语音通道中移动某个用户。

client.on('message', message => {

    console.log(message.content);

    const member = message.guild.members.get('user id');

    if (message.content == 'example'){


       member.setVoiceChannel('channel id');

    }

我也不太确定如何为某个用户定义“成员”。我猜成员会被 tfor 例如短信返回。 但是错误如下:

TypeError: 无法读取未定义的属性“setVoiceChannel”

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    Collection 上使用get 方法时,您需要实际提供成员的ID,而不是直接写成user id

    例子:

    message.guild.members.get("214298654863917059"); //hard coding a string
    message.guild.members.get(message.author.id); //using a variable
    

    此外,在这种特定情况下,使用 get 方法并不重要,因为您已经可以通过读取 message.member 从可用的 message 对象中获取 GuildMember 对象,这使得这是一个更理想的解决方案:

    client.on('message', message => {
        console.log(message.content);
    
        const member = message.member;
        if (message.content == 'example'){
           member.setVoiceChannel('channel id'); //make sure to actually use a valid id here
    }
    

    【讨论】:

    • 我知道用户 ID 的方面。我只是写了“用户 ID”作为示例,因为我不想把这些人的 ID 泄露出去。但是我想通了。我只是在配置文件中打错了字。不过还是谢谢
    猜你喜欢
    • 2021-04-12
    • 2021-04-28
    • 1970-01-01
    • 2023-01-14
    • 2020-07-14
    • 2019-07-11
    • 2021-05-29
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多