コード例 #1
0
        private static MySqlConnection CreateConnection()
        {
            var db = new MySqlConnection(ConString);

            db.Open();
            ClientEvents.Log(new LogMessage(LogSeverity.Info, "Database", "Connection Open"));
            return(db);
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        //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}"));
                }
            }
        }