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()); } }
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; }
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()); } } }
protected override void PreInit(XPContext xpContext, LogExperienceController logController, int randomSeed, XPState stateOnActivation) { base.PreInit(xpContext, logController, randomSeed, stateOnActivation); _rand = new System.Random(randomSeed); }