所以我一直在编码我的不和谐机器人,并希望添加一个功能,为用户提供一个特定的角色,就像你是游戏中的玩家一样,并输入一个"作弊代码"它授予你作弊者的角色。我怎样才能做到这一点?谢谢你的帮助。
答案 0 :(得分:8)
对于今后发现这一点的人来说,我是如何为用户提供角色的:
var user = Context.User;
var role = Context.Guild.Roles.FirstOrDefault(x => x.Name == "RoleName");
await (user as IGuildUser).AddRoleAsync(role);
希望这有帮助!
答案 1 :(得分:1)
请在这里学习图书馆......:https://github.com/RogueException/Discord.Net
回到问题,
您可以在async operator命令中执行此操作await e.User.AddRoles(x);
。 x
将成为角色变量。
答案 2 :(得分: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);
}
}
}