Skip to content

Commit

Permalink
role cmd can now give mod tester role
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoxiao921 committed Sep 25, 2020
1 parent 009d3c8 commit 24e0330
Showing 1 changed file with 41 additions and 13 deletions.
54 changes: 41 additions & 13 deletions CHEF/Components/Commands/GiveRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,57 @@ public async Task GiveRole(
[Summary("The role you want to give / remove access to.")]
string roleName)
{
if (roleName == "nsfw")
{
var user = Context.User;
var nsfwRole = Context.Guild.Roles.FirstOrDefault(x => x.Name == roleName);
var nsfwRoleId = nsfwRole?.Id;
var user = Context.User;
roleName = roleName.ToLowerInvariant();

if (user is IGuildUser gUser && nsfwRoleId != null)
if (user is IGuildUser gUser)
{
if (roleName == "nsfw")
{
if (gUser.RoleIds.Any(id => id == nsfwRoleId))
var nsfwRole = Context.Guild.Roles.FirstOrDefault(x => x.Name == roleName);
var nsfwRoleId = nsfwRole?.Id;

if (nsfwRoleId != null)
{
await gUser.RemoveRoleAsync(nsfwRole);
if (gUser.RoleIds.Any(id => id == nsfwRoleId))
{
await gUser.RemoveRoleAsync(nsfwRole);
}
else
{
await gUser.AddRoleAsync(nsfwRole);
}

await Context.Message.AddReactionAsync(Emote.Parse("<:KappaPride:570231271645511692>"));
}
else
}
else if (roleName == "guinea pig" || roleName == "mod tester")
{
var modTesterRole = Context.Guild.Roles.FirstOrDefault(x => x.Name == "guinea pig / mod tester");
var modTesterRoleId = modTesterRole?.Id;

if (modTesterRoleId != null)
{
await gUser.AddRoleAsync(nsfwRole);
}
if (gUser.RoleIds.Any(id => id == modTesterRoleId))
{
await gUser.RemoveRoleAsync(modTesterRole);
}
else
{
await gUser.AddRoleAsync(modTesterRole);
}

await Context.Message.AddReactionAsync(Emote.Parse("<:KappaPride:570231271645511692>"));
await Context.Message.AddReactionAsync(new Emoji("✅"));
}
}
else
{
await Context.Channel.SendMessageAsync("Can only give/remove nsfw or the mod tester role for now.");
}
}
else
{
await Context.Channel.SendMessageAsync("Can only give/remove nsfw role for now.");
await Context.Channel.SendMessageAsync("Just tried to give a role to someone who is not in the server.");
}
}
}
Expand Down

0 comments on commit 24e0330

Please sign in to comment.