public void AssignRoleToMember(List<DiscordRole> roles, DiscordMember member) { string url = Endpoints.BaseAPI + Endpoints.Guilds + $"/{this.id}" + Endpoints.Members + $"/{member.ID}"; List<string> rolesAsIds = new List<string>(); roles.ForEach(x => rolesAsIds.Add(x.id)); string message = JsonConvert.SerializeObject(new { roles = rolesAsIds.ToArray() }); Console.WriteLine(WebWrapper.Patch(url, DiscordClient.token, message)); }
internal void AddMember(DiscordMember member) { if (member == null) return; if(Members.ContainsKey(member.ID)) //then replace { Members.Remove(member.ID); } Members.Add(member.ID, member); }
public void RemoveBan(DiscordMember member) { if (Unavailable) throw new Exception("Server is currently unavailable!"); string url = Endpoints.BaseAPI + Endpoints.Guilds + $"/{ID}" + Endpoints.Bans + $"/{member.ID}"; try { WebWrapper.Delete(url, DiscordClient.token); } catch (Exception ex) { parentclient.GetTextClientLogger.Log($"Error during RemoveBan\n\tMessage: {ex.Message}\n\tStack: {ex.StackTrace}", MessageLevel.Error); } }
public void AssignRoleToMember(DiscordRole role, DiscordMember member) { if (Unavailable) throw new Exception("Server is currently unavailable!"); string url = Endpoints.BaseAPI + Endpoints.Guilds + $"/{this.ID}" + Endpoints.Members + $"/{member.ID}"; string message = JsonConvert.SerializeObject(new { roles = new string[] { role.ID } }); Console.WriteLine(WebWrapper.Patch(url, DiscordClient.token, message)); }
public LuigibotDiscordMember(DiscordMember member) { RawMember = member; }
public abstract void ExecuteCommand(DiscordChannel channel, DiscordMember member);
private bool Equals(DiscordMember obj) { return this.ID == obj.ID; }
public void AssignRoleToMember(DiscordRole role, DiscordMember member) { string url = Endpoints.BaseAPI + Endpoints.Guilds + $"/{this.id}" + Endpoints.Members + $"/{member.ID}"; string message = JsonConvert.SerializeObject(new { roles = new string[] { role.id } }); Console.WriteLine(WebWrapper.Patch(url, DiscordClient.token, message)); }
public bool HasPermission(DiscordMember member, PermissionType permission) { if(__internalUserRoles.ContainsKey(member.ID)) { foreach (var perm in __internalUserRoles) if (perm.Key == member.ID && (int)perm.Value >= (int)permission) return true; } return false; }
public int ExecuteOnMessageCommand(string rawCommandText, DiscordChannel channel, DiscordMember author) { string[] split = rawCommandText.Split(new char[] { ' ' }); //splits into args and stuff try { var command = __commands.Find(x => x.CommandName == split[0]); if (command != null && command.Parent != null) //if it's a generic command without a parent then don't bother doing this. { lock(__modules) { if (__modules[command.Parent] == false) { throw new ModuleNotEnabledException($"The specified module {command.Parent.Name} is not enabled.", command.Parent); } } } if(command != null) { command.Args.Clear(); if (command.ArgCount > 0) { string[] argsSplit = rawCommandText.Split(new char[] { ' ' }, command.ArgCount + 1); //adds all the arguments for (int i = 1; i < argsSplit.Length; i++) command.AddArgument(argsSplit[i]); } //finally, executes it command.ExecuteCommand(channel, author); return 0; } } catch(UnauthorizedAccessException uaex) { throw uaex; //no permission } catch(Exception ex) { throw ex; } return 1; }
public void AddPermission(DiscordMember member, PermissionType permission) { if (__internalUserRoles.ContainsKey(member.ID)) __internalUserRoles.Remove(member.ID); __internalUserRoles.Add(member.ID, permission); }
private bool Equals(DiscordMember obj) { return(this.ID == obj.ID); }