【发布时间】:2017-05-31 21:07:24
【问题描述】:
因此,我一直在编写我的 discord 机器人,并希望添加一个功能,以赋予用户特定角色,就像您是游戏中的玩家一样,您输入“作弊码”,它就会授予您作弊者角色。我怎样才能做到这一点?感谢您的帮助。
【问题讨论】:
-
这不是代码工厂,因为您可以尝试Hack hands ...在这里,我们帮助...显示您尝试过的内容,我们将尝试帮助形成那里...
标签: c# role discord.net
因此,我一直在编写我的 discord 机器人,并希望添加一个功能,以赋予用户特定角色,就像您是游戏中的玩家一样,您输入“作弊码”,它就会授予您作弊者角色。我怎样才能做到这一点?感谢您的帮助。
【问题讨论】:
标签: c# role discord.net
对于将来发现这一点的任何人,这是我赋予用户角色的方式:
var user = Context.User;
var role = Context.Guild.Roles.FirstOrDefault(x => x.Name == "RoleName");
await (user as IGuildUser).AddRoleAsync(role);
希望这会有所帮助!
【讨论】:
请学习这里的图书馆...:https://github.com/RogueException/Discord.Net
回到问题,
您可以在 async 运算符命令中执行此操作 await e.User.AddRoles(x);。 x 将是角色变量。
【讨论】:
这应该可以解决问题 这是一个命令,它赋予用户一个不能在任何频道中交谈的角色,只有一个名为 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);
}
}
}
【讨论】: