Example #1
0
        public async Task DatabaseXPAsync(SocketMessage msg)
        {
            try
            {
                SocketGuildUser user = msg.Author as SocketGuildUser;
                SocketGuild     gld  = _client.GetGuild(257984126718574592) as SocketGuild;
                if (user.Roles.Contains(gld.Roles.FirstOrDefault(x => x.Id == 301350337023836161) /*Guests*/) || user.Roles.Contains(gld.Roles.FirstOrDefault(x => x.Id == 301350531148808202) /*VIP*/) || msg.Channel.Id == 326078054948667393)
                {
                    return;
                }
                else
                {
                    if (user.IsBot == true)
                    {
                        return;
                    }
                    if (user.Roles.Count == 1 && user.Roles.Contains(gld.Roles.FirstOrDefault(x => x.Name.ToUpper() == "@EVERYONE")))
                    {
                        return;
                    }
                    var      message  = msg as SocketUserMessage;
                    Commands c        = new Commands();
                    int      usermsgs = 0;
                    if (!msg.Content.Contains("/"))
                    {
                        using (var cont = new XPContext())
                        {
                            if (!cont.Xp.Any(o => o.DiscordId == user.Id.ToString()))
                            {
                                await c.Insert(user);
                            }
                        }
                        using (var cont = new XPContext())
                        {
                            var data = await cont.Xp.FirstOrDefaultAsync(x => x.DiscordId == user.Id.ToString());

                            usermsgs = data.XpAmount;
                        }

                        newmsgs = usermsgs + 1;
                        using (var cont = new XPContext())
                        {
                            var userInfo = await cont.Xp.FirstOrDefaultAsync(b => b.DiscordId == user.Id.ToString());

                            userInfo.XpAmount = newmsgs;
                            cont.SaveChanges();
                        }

                        await c.LevelUpAsync(usermsgs, newmsgs, user, gld, msg.Channel as SocketTextChannel);
                    }
                }
            }
            catch (Exception e) { Console.WriteLine(e.ToString()); }
        }
Example #2
0
 protected override void PostInit(XPContext xpContext, ElementInfo[] info, LogExperienceController logController, int randomSeed, XPState stateOnActivation)
 {
     base.PostInit(xpContext, info, logController, randomSeed, stateOnActivation);
     hologramTube           = GetElement <MAIAHologramTube>();
     tabletScreen           = GetElement <MAIATabletScreen>();
     topScreen              = GetElement <MAIATopScreen>();
     tubeScreen             = GetElement <MAIATubeScreen>();
     topScreen.tabletScreen = tabletScreen;
     _hologramFeynman       = GetElement <MAIAHologramFeynman>();
     _bottomScreen          = GetElement <MAIABottomScreen>();
     settings = (MAIASettings)xpContext.xpSettings;
 }
Example #3
0
        public async Task OnUserLeft(SocketGuildUser user)
        {
            var bottesting = _client.GetChannel(374145773455278093) as ITextChannel;

            using (var cont = new XPContext())
            {
                if (cont.Xp.Any(o => o.DiscordId == user.Id.ToString()))
                {
                    var useridtoremove = cont.Xp.SingleOrDefault(o => o.DiscordId == user.Id.ToString());
                    try { cont.Xp.Remove(useridtoremove); cont.SaveChanges(); }
                    catch (Exception e) { Console.WriteLine(e.ToString()); }
                    var embed = new EmbedBuilder();
                    embed.WithColor(new Color(0, 170, 230));
                    embed.ThumbnailUrl = "https://i.imgur.com/A1bgENa.png";
                    embed.Description  = $"Removed {user.Username}'s file!";
                    await bottesting.SendMessageAsync("", false, embed.Build());
                }
            }
        }
Example #4
0
 protected override void PreInit(XPContext xpContext, LogExperienceController logController, int randomSeed, XPState stateOnActivation)
 {
     base.PreInit(xpContext, logController, randomSeed, stateOnActivation);
     _rand = new System.Random(randomSeed);
 }