3

所以我一直在编写我的 discord 机器人,并想添加一个功能来给用户一个特定的角色,就像你是游戏中的玩家一样,你输入一个“作弊码”,它就会授予你作弊者的角色。我怎样才能做到这一点?感谢您的帮助。

4

3 回答 3

12

对于将来发现这一点的任何人,这是我赋予用户角色的方式:

var user = Context.User;
var role = Context.Guild.Roles.FirstOrDefault(x => x.Name == "RoleName");
await (user as IGuildUser).AddRoleAsync(role);

希望这可以帮助!

于 2017-08-29T16:10:27.127 回答
1

请在这里学习图书馆...:https ://github.com/RogueException/Discord.Net

回到问题,您可以await e.User.AddRoles(x);在 async 运算符命令中执行此操作。x将是角色变量。

于 2017-01-17T08:43:21.373 回答
0

这应该可以解决问题 这是一个命令,它为用户提供了一个无法在任何频道中交谈的角色,只有一个名为 jail 的频道

using System;
using System.Collections.Generic;
using System.Text;
using Discord;
using Discord.Commands;
using Discord.WebSocket;
using Discord.Net;
using System.Linq;
using System.Threading.Tasks;

namespace ConsoleApp1.commands
{
public class jail : ModuleBase<SocketCommandContext>
{
[Command("jail")]
public async Task jail2 (IGuildUser user)
{

var role = Context.Guild.Roles.FirstOrDefault(x => x.Name.ToString() == "ROLE_NAME");     


await (user as IGuildUser).AddRoleAsync(role);


}

}
}
于 2017-09-29T19:29:36.247 回答