public async Task WhoIs(ulong userId) { if (Context.Message.Channel is SocketGuildChannel guildChannel) { //check if the user, which has written the message, has admin rights or is server owner if (AdminModule.IsAuthorized(GeneralModule.GetGuildUserFromGuild(Context.Message.Author as SocketUser, guildChannel.Guild))) { await Context.Message.Channel.SendMessageAsync($"{Context.Message.Author.Username}, you dont have the permissions to do this!"); return; } if (Program.MyGuild.Users.ToList().Find(u => u.Id == userId) == null) { await Context.Message.Channel.SendMessageAsync("User couldn't be found."); return; } //user has admin rights await Context.Message.Channel.SendMessageAsync($"{userId} => {Program.MyGuild.Users.ToList().Find(u => u.Id == userId)}"); } else { await Context.Message.Channel.SendMessageAsync("This command only works on a guild."); } }
public async Task RemoveRankRole(int index) { if (Context.Message.Channel is SocketGuildChannel guildChannel) { //check if user has admin priviliges if (AdminModule.IsAuthorized(GeneralModule.GetGuildUserFromGuild(Context.Message.Author as SocketUser, guildChannel.Guild))) { await Context.Message.Channel.SendMessageAsync("You cant do this."); return; } ulong guildId = guildChannel.Guild.Id; SocketGuild guild = guildChannel.Guild; Dictionary <int, ulong> guildRankRoleCollection = RoleManagerService.RankRoleCollection[guildId]; if (guildRankRoleCollection == null) { await Context.Message.Channel.SendMessageAsync("There are no roles to remove."); return; } //if (guild.Roles.ToList().Find(r => r.Id == roleId) == null) //{ // await Context.Message.Channel.SendMessageAsync("This role dont exist on this server."); // return; //} //if (guildRankRoleCollection.Values.ToList().Contains(roleId)) //{ // await Context.Message.Channel.SendMessageAsync("You cant remove this role, because it was never added."); // return; //} if (!guildRankRoleCollection.ContainsKey(index)) { await Context.Message.Channel.SendMessageAsync("The current index is not in your role collection."); return; } guildRankRoleCollection.Remove(index); RoleManagerService.SaveRankRoleCollection(); await Context.Message.Channel.SendMessageAsync("Role successfully removed."); } else { await Context.Message.Channel.SendMessageAsync("This is a server command only."); } }