首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DiscordJS角色不会添加

DiscordJS角色不会添加
EN

Stack Overflow用户
提问于 2022-04-13 17:42:54
回答 2查看 32关注 0票数 1
代码语言:javascript
运行
复制
const { SlashCommandBuilder } = require("@discordjs/builders");
const { Permissions } = require("discord.js");
module.exports = {
    data: new SlashCommandBuilder()
        .setName("mute")
        .setDescription("Mute a user on the server")
        .addUserOption((option) =>
            option
                .setName("user")
                .setDescription("The user you want to mute")
                .setRequired(true)
        ),
    execute: async (interaction) => {
        const user = interaction.options.getUser("user");
        if (!interaction.member.permissions.has(Permissions.FLAGS.MANAGE_ROLES)) {
            return interaction.editReply({
                content: `:x: | Manage Roles Permission is required to perform that action!`,
                ephemeral: true,
            });
        }
    user.roles.add(member.guild.roles.cache.get("958443243836702859"));
        return interaction.editReply("Muted!")
    },
};

TypeError:无法读取属性的未定义(阅读‘添加’),它不会让我添加一个角色给一个用户,请帮助!

EN

回答 2

Stack Overflow用户

发布于 2022-04-13 20:51:44

user.roles.add()的哈希定义中调用module_exports

再读一遍你的代码。这是语法错误。

票数 0
EN

Stack Overflow用户

发布于 2022-04-13 21:00:04

问题源于此,rolesmember的一个元素,它是user的父元素。user不包含roles元素。代码试图向user而不是member中添加角色。

这会帮到你的。

代码语言:javascript
运行
复制
const { SlashCommandBuilder } = require("@discordjs/builders");
const { Permissions } = require("discord.js");
module.exports = {
    data: new SlashCommandBuilder()
        .setName("mute")
        .setDescription("Mute a user on the server")
        .addUserOption((option) =>
            option
                .setName("user")
                .setDescription("The user you want to mute")
                .setRequired(true)
        ),
    execute: async (interaction) => {
        const user = interaction.options.getUser("user");
        if (!interaction.member.permissions.has(Permissions.FLAGS.MANAGE_ROLES)) {
            return interaction.editReply({
                content: `:x: | Manage Roles Permission is required to perform that action!`,
                ephemeral: true,
            });
        }
//adding the below line
    const member2mute = interaction.guild.members.cache.get(user.id)
//changing the below line
    member2mute.roles.add("958443243836702859");
        return interaction.editReply("Muted!")
    },
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71861759

复制
相关文章

相似问题

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