async Task IPermissionConfig.AddNewGuild(IGuild guild, IReadOnlyCollection <IGuildUser> users)
        {
            if (!GuildAdminRole.ContainsKey(guild.Id))
            {
                GuildAdminRole[guild.Id] = 0ul;
            }
            if (!GuildModRole.ContainsKey(guild.Id))
            {
                GuildModRole[guild.Id] = 0ul;
            }
            if (!GuildModuleWhitelist.ContainsKey(guild.Id))
            {
                GuildModuleWhitelist[guild.Id] = new HashSet <string>();
            }
            if (!UseFancyHelps.ContainsKey(guild.Id))
            {
                UseFancyHelps[guild.Id] = false;
            }

            foreach (var channel in await guild.GetTextChannelsAsync().ConfigureAwait(false))
            {
                if (!ChannelModuleWhitelist.ContainsKey(channel.Id))
                {
                    ChannelModuleWhitelist[channel.Id] = new HashSet <string>();
                }
                if (!SpecialPermissionUsersList.ContainsKey(channel.Id))
                {
                    SpecialPermissionUsersList[channel.Id] = new HashSet <ulong>();
                }
            }
        }
        async Task IPermissionConfig.AddNewGuild(IGuild guild)
        {
            if (!GuildAdminRole.ContainsKey(guild.Id))
            {
                GuildAdminRole[guild.Id] = 0ul;
            }
            if (!GuildModRole.ContainsKey(guild.Id))
            {
                GuildModRole[guild.Id] = 0ul;
            }
            if (!GuildModuleWhitelist.ContainsKey(guild.Id))
            {
                GuildModuleWhitelist[guild.Id] = new HashSet <string>();
            }
            if (!UseFancyHelps.ContainsKey(guild.Id))
            {
                UseFancyHelps[guild.Id] = false;
            }

            foreach (var channel in await guild.GetTextChannelsAsync())
            {
                if (!ChannelModuleWhitelist.ContainsKey(channel.Id))
                {
                    ChannelModuleWhitelist[channel.Id] = new HashSet <string>();
                }
                if (!SpecialPermissionUsersList.ContainsKey(channel.Id))
                {
                    SpecialPermissionUsersList[channel.Id] = new HashSet <ulong>();
                }
            }
            await(this as IPermissionConfig).WhitelistModuleGuild(guild, PermissionsModule.PermModuleName).ConfigureAwait(false);
        }