如何在 Discord.Net 中创建角色

问题描述 投票:0回答:1

我想为我的服务器创建一个机器人,当用户输入“!setlol(他们的名字)”时,它将创建一个角色并将其分配给他们。该角色会说“LoL:(他们的名字)”。我一直在尝试查找有关如何执行此操作的文档,但每个文档都涵盖了如何分配已存在的角色。

我尝试自己解决这个问题,但我似乎做不到。

var user = Context.User;
            var roles = Context.Guild.Roles;
            var role = Context.Guild.CreateRoleAsync($"LoL: {name}");
            var exRole = roles.FirstOrDefault(x => x.Guild.Name == $"{name}");

            if (user == null)
            {
                await Context.Channel.SendMessageAsync("User is null u dumb fuck");
            }
            else
            {
                await Context.Channel.SendMessageAsync("What u worrying about twat?!");
            }

            if (user != null && exRole != null)
            {
                await Context.Channel.SendMessageAsync("Work please");
                await (user as IGuildUser).AddRoleAsync(exRole);
            }
            else
            {
                await Context.Channel.SendMessageAsync("User `enter code here`or role is null");
            }
            await Context.Channel.SendMessageAsync($"Role {name} was added to your list of roles!");

不和谐错误的图像:https://i.stack.imgur.com/ZkvK4.png

c# discord
1个回答
2
投票

Discord.Net 文档 - CreateRoleAsync

//Context assumes that you are in a command module
//user assumes your command accepts an IGuildUser as a parameter
var role = await Context.Guild.CreateRoleAsync($"LoL: {user.UserName}");
await user.AddRoleAsync(role);
© www.soinside.com 2019 - 2024. All rights reserved.