Exemplo n.º 1
0
 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));
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
 public LuigibotDiscordMember(DiscordMember member)
 {
     RawMember = member;
 }
Exemplo n.º 6
0
 public abstract void ExecuteCommand(DiscordChannel channel, DiscordMember member);
Exemplo n.º 7
0
 private bool Equals(DiscordMember obj)
 {
     return this.ID == obj.ID;
 }
Exemplo n.º 8
0
 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));
 }
Exemplo n.º 9
0
 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;
 }
Exemplo n.º 10
0
        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;
        }
Exemplo n.º 11
0
 public void AddPermission(DiscordMember member, PermissionType permission)
 {
     if (__internalUserRoles.ContainsKey(member.ID))
         __internalUserRoles.Remove(member.ID);
     __internalUserRoles.Add(member.ID, permission);
 }
Exemplo n.º 12
0
 private bool Equals(DiscordMember obj)
 {
     return(this.ID == obj.ID);
 }