public static async Task <DatabaseGuildConfig> GetGuildConfigAsync(this TheGodfatherModule module, ulong gid)
        {
            DatabaseGuildConfig gcfg = null;

            using (DatabaseContext db = module.Database.CreateContext())
                gcfg = await db.GuildConfig.FindAsync((long)gid) ?? new DatabaseGuildConfig();
            return(gcfg);
        }
        public static async Task <DatabaseGuildConfig> ModifyGuildConfigAsync(this TheGodfatherModule module, ulong gid, Action <DatabaseGuildConfig> action)
        {
            DatabaseGuildConfig gcfg = null;

            using (DatabaseContext db = module.Database.CreateContext()) {
                gcfg = await db.GuildConfig.FindAsync((long)gid) ?? new DatabaseGuildConfig();

                action(gcfg);
                db.GuildConfig.Update(gcfg);
                await db.SaveChangesAsync();
            }

            CachedGuildConfig cgcfg = module.Shared.GetGuildConfig(gid);

            cgcfg = gcfg.CachedConfig;
            module.Shared.UpdateGuildConfig(gid, _ => cgcfg);

            return(gcfg);
        }