Beispiel #1
0
        public override async Task DoWork(AbbybotCommandArgs a)
        {
            var tagss = a.Replace(Command);

            if (tagss.Length < 1)
            {
                await a.Send("You gotta tell me some tags too silly!!!");

                return;
            }

            var fc = a.user.FavoriteCharacter;

            tagss.Replace("&fc", $"{fc}*");

            var tags = tagss.ToString().Split(' ').ToList();

            var badtaglisttags = await UserBadTagListSql.GetbadtaglistTags(a.user.Id);

            foreach (var item in badtaglisttags)
            {
                tags.Add($"-{item}");
            }

            if (a.guild != null)
            {
                var ratings = a.user.Ratings;
                var sgc     = (ITextChannel)a.channel;
                if (sgc == null)
                {
                    return;
                }

                if (a.Contains("-testlewd"))
                {
                    await a.Send($"channel is nsfw? {a.IsChannelNSFW }, you are lewd? {a.user.IsLewd}, You have permissions? {a.user.HasRatings(CommandRatings.hot)}");
                }
                if (!a.IsChannelNSFW || !a.user.IsLewd || !a.user.HasRatings(CommandRatings.hot))
                {
                    tags.Add("rating:safe");
                }
            }
            EmbedBuilder eb = null;
            var          s  = (await a.GetPicture(tags.ToArray(), OnFail: async e => { await a.Send(e.ToString( )); }))[0];
            ImgData      im = new ();

            if (s.fileUrl != null)
            {
                im.Imageurl = s.fileUrl;
            }
            if (s.source != null)
            {
                im.source = s.source;
            }

            await a.Send($"{s.fileUrl}, *{im.source}*");
        }
        public override async Task <bool> Evaluate(AbbybotCommandArgs aca)
        {
            bool v = aca.Contains(Command, true);

            return(v && await base.Evaluate(aca));
        }
Beispiel #3
0
 public static bool Contains(this AbbybotCommandArgs arg, string[] items, bool lowercase = false)
 {
     return(items.Any(x => arg.Contains(x, lowercase)));
 }