通过ID [DISCORD.JS]从角色中添加/删除用户

时间:2020-10-14 15:40:21

标签: discord.js

嘿,今天我想通过用户ID向用户授予和删除角色

第一次尝试:

const user = '5454654687868768'
const role = '451079228381724672'

user.removeRole(role)

第二次尝试:

{{1}}

但是,这些方法似乎都不起作用。

2 个答案:

答案 0 :(得分:0)

您的第一次尝试实际上并不遥远。唯一的问题是roles.remove()guildMember函数。

所以首先我们需要定义成员。

const member = message.guild.members.cache.get("member ID here");

现在我们可以删除或添加角色。 Source

member.roles.remove("role ID here");

答案 1 :(得分:0)

public class MenuViewComponent : ViewComponent
{
    private readonly MenuDbContext _context;

    public TopMenuViewComponent(MenuDbContext context)
    {
        _context = context;

    }

    public async Task<IViewComponentResult> InvokeAsync()
    {
        var model = _context.MenuItems.ToList();

        return View("Default", model);
    }
}

这些只是数字,恰好是您的用户和角色对象的ID。它们本身不是什么,您不能对其调用任何Discordjs方法。要获取用户和角色对象,您首先必须使用它们各自的ID来获取它们。

假设您要在某人加入服务器时添加角色,您可以在任何类型的事件中执行相同的操作,但是我们将使用guildMemberAdd事件,例如:

const user = '5454654687868768'
const role = '451079228381724672'

看到这些方法仅是有效的,因为它们是真正的discordjs对象,而不是您尝试做的一些数字。还有异步/等待的事情,因为我们需要等待机器人从API中获取成员对象,然后才能向其中添加角色。