private static MySqlConnection CreateConnection() { var db = new MySqlConnection(ConString); db.Open(); ClientEvents.Log(new LogMessage(LogSeverity.Info, "Database", "Connection Open")); return(db); }
private static ulong[] ReaderReadUlong(IDataReader reader) { List <ulong> list = new List <ulong>(); try { while (reader.Read()) { list.Add((ulong)reader[0]); } reader.Close(); } catch (Exception e) { ClientEvents.Log(new LogMessage(LogSeverity.Error, e.Source, e.Message)); } return(list.ToArray()); }
//Syncs Bot with Database public static void SyncClientWithDatabase() { //Waits until Client is Connected while (Client.ConnectionState != ConnectionState.Connected) { Thread.Sleep(new Random().Next(4)); } //Gets all Guilds from Database var guildsDatabase = QueryUlong("Select guildID from Birthday_DiscordBot.guilds;"); //Gets all Guilds from Client var guildsClient = Client.Guilds.ToArray().Select(variable => variable.Id).ToArray(); //Deletes all guilds in Database where the Bot is not there anymore foreach (var guildId in guildsDatabase) { if (!guildsClient.Contains(guildId)) { DataDefinition($"delete from Birthday_DiscordBot.guilds where guildID = {guildId};"); } } foreach (var guildId in guildsClient) { if (guildsDatabase.Contains(guildId)) { //Guild is in Database ClientEvents.Log(new LogMessage(LogSeverity.Info, "In Database", $"Guild: {Client.GetGuild(guildId).Name}")); } else { DataDefinition($"Insert into Birthday_DiscordBot.guilds(guildID, channelID) VALUES(\"{guildId}\", \"{ Client.GetGuild(guildId).DefaultChannel.Id}\");"); ClientEvents.Log(new LogMessage(LogSeverity.Info, "Added To Database", $"Guild: {Client.GetGuild(guildId).Name}")); } } }