嘿,今天我想通过用户ID向用户授予和删除角色
第一次尝试:
const user = '5454654687868768'
const role = '451079228381724672'
user.removeRole(role)
第二次尝试:
{{1}}
但是,这些方法似乎都不起作用。
答案 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中获取成员对象,然后才能向其中添加角色。