Пример #1
0
        public async Task SessionInfoUnsub(CommandContext ctx)
        {
            logger.Debug(ctx.User.Username + " called sessionInfoUnsub!");
            using (KomoBaseAccess kba = new KomoBaseAccess())
            {
                kba.UpdateSubscription(ctx.User.Username, false);
            }

            await ctx.RespondAsync("Nem kapsz több infót a játékmenetedről " + ctx.User.Username + ".");
        }
Пример #2
0
        public async Task SessionInfoSub(CommandContext ctx)
        {
            logger.Debug(ctx.User.Username + " called sessionInfoSub!");
            using (KomoBaseAccess kba = new KomoBaseAccess())
            {
                kba.UpdateSubscription(ctx.User.Username, true);
            }

            await ctx.RespondAsync("Mostantól küldeni fogom mennyit függtél kedves " + ctx.User.Username + ".");
        }
Пример #3
0
 public async Task SetWowRealm(CommandContext ctx, string realm)
 {
     logger.Debug(ctx.User.Username + " called SetWowRealm!");
     try
     {
         using (KomoBaseAccess kba = new KomoBaseAccess())
         {
             kba.UpdateWowRealm(ctx.User.Username, realm);
         }
         await ctx.RespondAsync("Beirtam a naplóba a realmodat!");
     }
     catch (Exception) { await ctx.RespondAsync("Valami hiba történt!"); }
 }
Пример #4
0
 public async Task SetWowName(CommandContext ctx, string name)
 {
     logger.Debug(ctx.User.Username + " called wow setName!");
     try
     {
         using (KomoBaseAccess kba = new KomoBaseAccess())
         {
             kba.UpdateWowCharName(ctx.User.Username, name);
         }
         await ctx.RespondAsync("Beirtam a naplóba a karaktered nevét!");
     }
     catch (Exception) { await ctx.RespondAsync("Valami hiba történt!"); }
 }
Пример #5
0
            public async Task SetCRTag(CommandContext ctx, string tag = null)
            {
                logger.Debug(ctx.User.Username + "called CR setTag!");
                if (ValidateID(tag))
                {
                    using (KomoBaseAccess kba = new KomoBaseAccess())
                    {
                        kba.UpdateCRTag(ctx.User.Username, tag);
                    }

                    await ctx.RespondAsync("Bevéstem a naplóba a Clash Royale tagedet " + ctx.User.Username + ".");
                }
            }
Пример #6
0
 public async Task SetWowRealmAndName(CommandContext ctx, string realm, string charname)
 {
     logger.Debug(ctx.User.Username + " called setRealmCharname!");
     try
     {
         using (KomoBaseAccess kba = new KomoBaseAccess())
         {
             kba.UpdateWowRealm(ctx.User.Username, realm);
             kba.UpdateWowCharName(ctx.User.Username, charname);
         }
         await ctx.RespondAsync("Beirtam a naplóba a realmodat és a nevedet!");
     }
     catch (Exception) { await ctx.RespondAsync("Valami hiba történt!"); }
 }
Пример #7
0
        private static async Task Initialize(DiscordClient client, JsonConfig config)
        {
            //SQLite database
            using (KomoBaseAccess kba = new KomoBaseAccess())
            {
                kba.Initialize();
                kba.SyncUsers(client.Guilds.FirstOrDefault().Value.Members.Select(x => x.Username).ToList());
            }

            var users = client.Guilds.FirstOrDefault().Value.Members.ToList <DiscordMember>();

            //check if any mandatory channel is missing.
            var           currentVoiceChannels     = client.Guilds.FirstOrDefault().Value.Channels.Where(x => x.Type == ChannelType.Voice);
            List <string> currentVoiceChannelNames = new List <string>();

            List <string> mandatoryChannels = config.mandatoryVoiceChannels.Split(';').ToList <string>();

            List <string> missingChannels = new List <string>();

            foreach (DiscordChannel channel in currentVoiceChannels)
            {
                currentVoiceChannelNames.Add(channel.Name);
            }

            foreach (string channelName in mandatoryChannels)
            {
                if (!currentVoiceChannelNames.Contains(channelName))
                {
                    missingChannels.Add(channelName);
                }
            }
            if (missingChannels != null && missingChannels.Count > 0)
            {
                foreach (string channelName in missingChannels)
                {
                    await client.Guilds.FirstOrDefault().Value.CreateChannelAsync(channelName, ChannelType.Voice,
                                                                                  client.Guilds.FirstOrDefault().Value.Channels.Where(x => x.Name.ToLower() == "voice channels").FirstOrDefault(), null, null,
                                                                                  null, "Mandatory " +
                                                                                  "channel recreation on initialization.");
                }
            }

            Commands.startTime = DateTime.UtcNow;

            WireUpEvents(client);
        }
Пример #8
0
            public async Task GetPointBalance(CommandContext ctx)
            {
                logger.Debug(ctx.User.Username + " called Mennyi!");

                long points = 0;

                try
                {
                    using (KomoBaseAccess kba = new KomoBaseAccess())
                    {
                        points = kba.GetPoints(ctx.User.Username);
                    }

                    await ctx.RespondAsync("Kemény " + points + " pontod van jelenleg!");
                }
                catch (Exception e) { await ctx.RespondAsync(e.Message); }
            }
Пример #9
0
            public async Task GetLeaderboard(CommandContext ctx)
            {
                logger.Debug(ctx.User.Username + " called ranglista!");

                Dictionary <string, long> dict = new Dictionary <string, long>();

                try
                {
                    using (KomoBaseAccess kba = new KomoBaseAccess())
                    {
                        dict = kba.GetLeaderboard();
                    }

                    string msg = ConstructLeaderboardString(dict);
                    await ctx.RespondAsync(msg);
                }
                catch (Exception e) { await ctx.RespondAsync(e.Message); }
            }
Пример #10
0
        public static async Task PresenceUpdated(PresenceUpdateEventArgs e, DiscordClient client)
        {
            if (!e.Member.IsBot)
            {
                try
                {
                    using (KomoBaseAccess kba = new KomoBaseAccess())
                    {
                        bool subStatus = kba.SubStatus(e.Member.Username);

                        bool   isStopped = (e.Game == null || e.Game.Name == null || e.Game.Name == string.Empty) && gameStartedDictionary.ContainsKey(e.Member);
                        int    points    = 0;
                        string msg       = string.Empty;
                        //add points
                        if (isStopped)
                        {
                            msg = GetTimeLapsedString(DateTime.Now, gameStartedDictionary[e.Member], out points);
                            kba.AddPoints(e.Member.Username, points);
                        }
                        //if just started playing
                        if (e.Game != null && e.Game.Name != null && !gameStartedDictionary.ContainsKey(e.Member) && (e.PresenceBefore.Game == null || e.PresenceBefore.Game.Name == string.Empty))
                        {
                            gameStartedDictionary.Add(e.Member, DateTime.Now);
                        }
                        //if ended
                        else if (isStopped)
                        {
                            gameStartedDictionary.Remove(e.Member);
                        }

                        if (subStatus == true && isStopped)
                        {
                            DiscordDmChannel dm = await client.CreateDmAsync(e.Member);

                            await client.SendMessageAsync(dm, "No! Ennyit függtél most: " +
                                                          msg,
                                                          false, null);
                        }
                    }
                }
                catch (Exception ex) { logger.Error(DateTime.UtcNow.ToString() + ": " + ex.Message); }
            }
        }
Пример #11
0
            public async Task GetCRName(CommandContext ctx)
            {
                logger.Debug(ctx.User.Username + " called CR getTag!");

                string tag = string.Empty;

                using (KomoBaseAccess kba = new KomoBaseAccess())
                {
                    tag = kba.GetCRTag(ctx.User.Username);
                }

                if (string.IsNullOrEmpty(tag))
                {
                    await ctx.RespondAsync("Nem találni a naplóban Clash Royale Tag-et! A setTag paranccsal beállithatod.");
                }
                else
                {
                    await ctx.RespondAsync("A te Clash Royale tag-ed: " + tag + ".");
                }
            }