Exemple #1
0
        public static async Task OnMessageCreated(DiscordClient _, MessageCreateEventArgs args)
        {
            if (DefaultHandlerFilter.IsFluff(args.Message))
            {
                return;
            }

            /*
             * (╯°□°)╯︵ ┻━┻
             * (ノ ゜Д゜)ノ ︵ ┻━┻
             * (ノಠ益ಠ)ノ彡┻━┻
             * ‎(ノಥ益ಥ)ノ ┻━┻
             * (ノಥДಥ)ノ︵┻━┻・/
             * (ノ^_^)ノ┻━┻
             * (/¯◡ ‿ ◡)/¯ ~ ┻━┻
             *
             * this might look the same, but only because of the font choice
             *
             * ┻━┻
             * ┻━┻
             */
            try
            {
                var content = args.Message.Content;

                if (content.Contains("🎲") && Regex.IsMatch(content, @"(🎲|\s)+"))
                {
                    var count = 1;
                    var idx   = content.IndexOf("🎲");
                    while (idx < content.Length && (idx = content.IndexOf("🎲", idx + 1)) > 0)
                    {
                        count++;
                    }
                    await Misc.RollImpl(args.Message, $"{count}d6").ConfigureAwait(false);

                    return;
                }

                if (content.Trim() == "🥠")
                {
                    await Fortune.ShowFortune(args.Message, args.Author).ConfigureAwait(false);

                    return;
                }

                if (!(content.Contains("┻━┻") ||
                      content.Contains("┻━┻")))
                {
                    return;
                }

                var tableIdx = content.IndexOf("┻━┻", StringComparison.Ordinal);
                if (tableIdx < 0)
                {
                    tableIdx = content.IndexOf("┻━┻", StringComparison.Ordinal);
                }
                var faceIdx = content[..tableIdx].LastIndexOfAny(OpenParen);