Example #1
0
        public static async Task <string> GetLastTime(ulong userId, ulong guildId, string item)
        {
            var it = AbbysqlClient.EscapeString(item);
            var a  = await AbbysqlClient.FetchSQL($"select * from `user`.`activity` where `UserId`='{userId}' and `GuildId` = '{guildId}' and `Kind` = '{it}'");

            return((a.Count > 0 && a[0]["Time"] is string s) ? s : "");
        }
Example #2
0
        public static async Task IncreaseStat(ulong abbybotId, ulong guildId, ulong channelId, ulong userId, string stat)
        {
            if (stat.Length == 0)
            {
                return;
            }

            var it = AbbysqlClient.EscapeString(stat);
            //var month = DateTime.Now.ToString("MMMM yyyy");

            var a = await AbbysqlClient.FetchSQL($"select * from `guild`.`userstats` where `Stat`='{stat}' and `AbbybotId` = '{abbybotId}' and `GuildId`='{guildId}' and `ChannelId`='{channelId}' and `UserId`='{userId}'");

            if (a.Count != 0)
            {
                ulong num = (a[0]["Points"] is ulong points) ? points : 0;

                ulong  n = ++num;
                string s = $"UPDATE `guild`.`userstats` SET `Points`= '{n}' WHERE `Stat`='{stat}' and `AbbybotId` = '{abbybotId}' and `GuildId`='{guildId}' and `ChannelId`='{channelId}' and `UserId`='{userId}';";
                await AbbysqlClient.RunSQL(s);
            }
            else
            {
                await AbbysqlClient.RunSQL($"insert into `guild`.`userstats` (`AbbybotId`,`GuildId`, `ChannelId`,`UserId`, `Stat`, `Points`) values ('{abbybotId}', '{guildId}', '{channelId}', '{userId}','{stat}', '1');");
            }
        }
Example #3
0
 public static async Task Add(string message, Image I)
 {
     var url       = AbbysqlClient.EscapeString(I.url);
     var sourceurl = AbbysqlClient.EscapeString(I.sourceurl);
     var msg       = AbbysqlClient.EscapeString(message);
     await AbbysqlClient.RunSQL($"INSERT INTO `twitter`.`tweets` ( `ImgUrl`,`SrcUrl`, `Description`, `Priority`, `md5`, `GelId` ) VALUES('{url}', '{sourceurl}', '{msg}','0', '{I.md5}', '{I.gelId}');");
 }
        internal static async Task <bool> UnbadtaglistTag(ulong id, string item)
        {
            item = AbbysqlClient.EscapeString(item);
            var e = await AbbysqlClient.RunSQL($"DELETE FROM `user`.`gelbadtaglist` WHERE `UserId` = '{id}' and `Tag` = '{item}';");

            return(e switch
            {
Example #5
0
        public static async Task <List <(ulong userId, ulong stat)> > GetGuildStat(ulong abbybotId, ulong guildId, string v)
        {
            List <(ulong userId, ulong stat)> stats = new List <(ulong userId, ulong stat)>();
            var ori = AbbysqlClient.EscapeString(v);
            var a   = await AbbysqlClient.FetchSQL($"select * from `guild`.`userstats` where `AbbybotId` = '{abbybotId}' and `GuildId`='{guildId}' and `Stat`='{ori}';");

            foreach (AbbyRow abr in a)
            {
                var point = abr["Points"] is ulong p ? p : 0;
                var user  = abr["UserId"] is ulong u ? u : 0;
                stats.Add((user, point));
            }
            var groupedstats = stats.ToList().GroupBy(x => x.userId);

            stats.Clear();
            foreach (var u in groupedstats)
            {
                ulong o = 0;
                foreach (var s in u)
                {
                    o += s.stat;
                }
                stats.Add((u.Key, o));
            }
            return(stats);
        }
Example #6
0
 public static async Task Add(Tweet I, bool v)
 {
     int priority  = v ? 1 : 0;
     var url       = AbbysqlClient.EscapeString(I.url);
     var sourceurl = AbbysqlClient.EscapeString(I.sourceurl);
     var message   = AbbysqlClient.EscapeString(I.message);
     await AbbysqlClient.RunSQL($"INSERT INTO `twitter`.`tweets` ( `ImgUrl`,`SrcUrl`, `Description`, `Priority`, `GelId`, `md5` ) VALUES('{url}', '{sourceurl}', '{message}', '{priority}','{I.GelId}','{I.md5}' );");
 }
Example #7
0
 public static async Task SetFavoriteCharacterHistoryAsync(ulong userId, string favoriteCharacter, string type, string info, ulong lastId)
 {
     var t   = DateTime.Now.ToString("G");
     var fc  = AbbysqlClient.EscapeString(favoriteCharacter);
     var ty  = AbbysqlClient.EscapeString(type);
     var inf = AbbysqlClient.EscapeString(info);
     await AbbysqlClient.RunSQL($"insert into `abbybooru`.`userfchistory` (`UserId`, `Time`, `FavoriteCharacter`, `Type`, `Info`, `UndoId`) values ('{userId}','{t}','{fc}', '{ty}', '{inf}', '{lastId}');");
 }
Example #8
0
        public static async Task RemoveCharacterAsync(ISocketMessageChannel channel, string v)
        {
            var tag = AbbysqlClient.EscapeString(v);

            var tbl = await AbbysqlClient.FetchSQL($"SELECT * FROM `abbybooru`.`characters` WHERE `Tag` = '{tag}' AND `ChannelId` = '{channel.Id}';");

            if (tbl.Count < 1)
            {
                throw new Exception("nocharacter");
            }

            await AbbysqlClient.RunSQL($"DELETE FROM `abbybooru`.`characters` WHERE `Tag` = '{tag}' AND `ChannelId` = '{channel.Id}';");
        }
Example #9
0
        public static async Task AddCharacterAsync(ISocketMessageChannel channel, AbbybotGuild abbybotGuild, string v)
        {
            var tag = AbbysqlClient.EscapeString(v);
            var nsf = (channel as ITextChannel).IsNsfw ? 0 : 1;

            var tbl = await AbbysqlClient.FetchSQL($"SELECT * FROM `abbybooru`.`characters` WHERE `Tag` = '{tag}' AND `ChannelId` = '{channel.Id}';");

            if (tbl.Count > 0)
            {
                throw new Exception("CharacterAlreadyAdded");
            }

            await AbbysqlClient.RunSQL($"INSERT INTO `abbybooru`.`characters` ( `Tag`,`ChannelId`, `GuildId`, `IsLewd` ) VALUES ('{tag}','{channel.Id}','{abbybotGuild.Id}', '{nsf}'); ");
        }
Example #10
0
        public static async Task SetUsernameSql(ulong userId, string username, string nickname = "")
        {
            nickname ??= "";
            string u  = (username.Length > 1) ? AbbysqlClient.EscapeString(username) : "";
            string n  = (nickname.Length > 1) ? AbbysqlClient.EscapeString(nickname) : "";
            string ss = $"UPDATE `user`.`names` SET `Username`='{u}'";

            if (n.Length > 1)
            {
                ss += $", `Nickname`= '{n}'";
            }
            ss += $" WHERE  `UserId`= {userId}; ";
            await AbbysqlClient.RunSQL(ss);
        }
        public static async Task SetCFCAsync(ulong guildId, ulong channelId, bool nsfw, string fc)
        {
            string    fcm   = AbbysqlClient.EscapeString(fc);
            int       insfw = nsfw ? 1 : 0;
            AbbyTable table = await AbbysqlClient.FetchSQL($"select * from `channel`.`fcsettings` where `GuildId` = {guildId} and `ChannelId`= {channelId}");

            if (table.Count < 1)
            {
                await AbbysqlClient.RunSQL($"insert into `channel`.`fcsettings` (`GuildId`, `ChannelId`, `FavoriteCharacter`,`IsNSFW` ) values ('{guildId}', '{channelId}', '{fcm}', {insfw});");
            }
            else
            {
                await AbbysqlClient.RunSQL($"UPDATE `channel`.`fcsettings` SET `FavoriteCharacter`= '{fcm}' WHERE  `GuildId`= {guildId} and `ChannelId` = {channelId};");
            }
        }
Example #12
0
        public static async Task <List <(ulong channel, ulong stat)> > GetChannelsinGuildStats(ulong abbybotId, ulong guildId, ulong userId, string v)
        {
            List <(ulong, ulong)> statchannels = new List <(ulong, ulong)>();
            var ori = AbbysqlClient.EscapeString(v);
            var a   = await AbbysqlClient.FetchSQL($"select * from `guild`.`userstats` where `AbbybotId` = '{abbybotId}' and `GuildId`='{guildId}' and `UserId`='{userId}' and `Stat`='{ori}';");

            foreach (AbbyRow abr in a)
            {
                ulong channelId = (abr["ChannelId"] is ulong chanid) ? chanid : 0;
                ulong points    = (abr["Points"] is ulong poin) ? poin : 0;
                statchannels.Add((channelId, points));
            }

            return(statchannels);
        }
Example #13
0
        public static async Task Add(Tweet I, bool v)
        {
            var facts = await FunAbbybotFactsSql.GetFactsList(true);

            Random r         = new();
            int    priority  = v ? 1 : 0;
            var    url       = AbbysqlClient.EscapeString(I.url);
            var    sourceurl = AbbysqlClient.EscapeString(I.sourceurl);

            var message = AbbysqlClient.EscapeString(I.message);

            if (message.Contains("new tweet just came in") && facts.Count > 0)
            {
                message = facts[r.Next(0, facts.Count)].fact;
            }
            message = AbbysqlClient.EscapeString(message);


            await AbbysqlClient.RunSQL($"INSERT INTO `twitter`.`archive` ( `ImgUrl`,`SrcUrl`, `Description`, `Priority`, `md5`, `GelId` ) VALUES('{url}', '{sourceurl}', '{message}','0', '{I.md5}', '{I.GelId}');");
        }
Example #14
0
        public static async Task IncStat(ulong userId, string item)
        {
            if (item.Length == 0)
            {
                return;
            }
            var it = AbbysqlClient.EscapeString(item);
            var a  = await AbbysqlClient.FetchSQL($"select * from `users`.`userstats` where `Id`='{userId}'");

            if (a.Count == 0)
            {
                return;
            }
            int num = (int)a[0][item];

            int    n = ++num;
            string s = $"UPDATE `users`.`userstats` SET `{it}`= '{n}' WHERE `Id`= {userId};";

            await AbbysqlClient.RunSQL(s);
        }
Example #15
0
        public static async Task SetTimeSql(ulong userId, ulong guildId, string item, string time)
        {
            if (item.Length == 0)
            {
                return;
            }

            var it = AbbysqlClient.EscapeString(item);
            var a  = await AbbysqlClient.FetchSQL($"select * from `user`.`activity` where `UserId`='{userId}' and `GuildId` = '{guildId}' and `Kind` = '{it}'");

            if (a.Count == 0)
            {
                await AbbysqlClient.RunSQL($"insert into `user`.`activity` (`UserId`, `GuildId`, `Kind`, `Time`) values ('{userId}','{guildId}','{it}','{time}');");

                return;
            }
            string s = $"UPDATE `user`.`activity` SET `Time`= '{time}' WHERE `UserId`='{userId}' and `GuildId` = '{guildId}' and `Kind` = '{it}';";

            await AbbysqlClient.RunSQL(s);
        }
        public static async Task AddBadTag(ulong did, string item, Action onSuccess = null, Action <string> onFail = null)
        {
            item = AbbysqlClient.EscapeString(item);
            var table = await AbbysqlClient.FetchSQL($"SELECT * FROM `user`.`gelbadtaglist` WHERE `UserId` = '{did}' && `Tag`= '{item}';");

            if (table.Count > 0)
            {
                onFail?.Invoke($"Sorry master... {item} was already added...");
                return;
            }

            var e = await AbbysqlClient.RunSQL($"INSERT INTO `user`.`gelbadtaglist`(`UserId`, `Tag`) VALUES ('{did}', '{item}'); ");

            if (e > 0)
            {
                onSuccess?.Invoke();
            }
            else
            {
                onFail?.Invoke("I... Couldn't add the tag to the database...");
            }
        }
Example #17
0
 public static async Task SetFavoriteCharacterAsync(ulong userId, string favoriteCharacter)
 {
     string fc = AbbysqlClient.EscapeString(favoriteCharacter);
     await AbbysqlClient.RunSQL($"UPDATE `user`.`users` SET `FavoriteCharacter`= '{fc}' WHERE  `UserId`= {userId};");
 }
Example #18
0
 public static async Task UpdateGuildName(AbbybotGuild guild)
 {
     var name = AbbysqlClient.EscapeString(guild.Name);
     await AbbysqlClient.RunSQL($"UPDATE `abbybot`.`guilds` SET `Name` = '{name}' WHERE `GuildId` ='{guild.Id}';");
 }
Example #19
0
 public static async Task AddGuild(AbbybotGuild guild)
 {
     var name = AbbysqlClient.EscapeString(guild.Name);
     await AbbysqlClient.RunSQL($"INSERT INTO `abbybot`.`guilds`(GuildId, Name) VALUES ('{guild.Id}', '{name}'); ");
 }
Example #20
0
 public static async Task UpdateGuildName(SocketGuild guild, RestInviteMetadata rim)
 {
     var name = AbbysqlClient.EscapeString(guild.Name);
     await AbbysqlClient.RunSQL($"UPDATE `discord`.`invites` SET `Joins` = '{rim.Uses}' WHERE `GuildId` ='{guild.Id}' AND `InviteId` = '{rim.Code}';");
 }
Example #21
0
 public static async Task AddLuaData(ulong UserId, string piece)
 {
     piece = AbbysqlClient.EscapeString(piece);
     await AbbysqlClient.RunSQL($"insert into user.lua (`UserId`, `lua`) values ('{UserId}', '{piece}');");
 }