Beispiel #1
0
        private GuildData CreateNewGuildData(ulong guildId, bool setDefaults)
        {
            var data = new GuildData(config, guildId, setDefaults);

            data.CoinsChanged    += GuildDataCoinsChanged;
            data.SettingsChanged += GuildDataSettingsChanged;
            return(data);
        }
Beispiel #2
0
 public static bool RoleHasPermission(this GuildData data, SocketRole role, Permissions permission)
 {
     if (permission == Permissions.None)
     {
         return(true);
     }
     if (role.Permissions.Administrator)
     {
         return(true);
     }
     return((data.GetPermissions(role) & permission) == permission);
 }
Beispiel #3
0
 public static bool UserHasPermission(this GuildData data, SocketUser user, Permissions permission)
 {
     if (permission == Permissions.None)
     {
         return(true);
     }
     if (user is SocketGuildUser guildUser)
     {
         foreach (var role in guildUser.Roles)
         {
             if (data.RoleHasPermission(role, permission))
             {
                 return(true);
             }
         }
     }
     return((data.GetPermissions(user) & permission) == permission);
 }
Beispiel #4
0
 private void GuildDataCoinsChanged(GuildData guild, ulong userId)
 {
     ScheduleSaveCoins();
 }
Beispiel #5
0
 private void GuildDataPermissionsChanged(GuildData guild, ulong userId)
 {
     ScheduleSavePermissions();
 }
Beispiel #6
0
 private void GuildDataSettingsChanged(GuildData guild)
 {
     ScheduleSaveSettings();
 }
Beispiel #7
0
 public static void RemovePermission(this GuildData data, SocketEntity <ulong> entity, Permissions permission)
 {
     data.SetPermissions(entity, data.GetPermissions(entity) & (~permission));
 }
Beispiel #8
0
 public static void AddPermission(this GuildData data, SocketEntity <ulong> entity, Permissions permission)
 {
     data.SetPermissions(entity, data.GetPermissions(entity) | permission);
 }