namespace vassago.Behavior; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using Newtonsoft.Json; using vassago.Models; using static vassago.Models.Enumerations; [StaticPlz] public class GeneralSnarkCloudNative : Behavior { public override string Name => "general snarkiness: cloud native"; public override string Trigger => "certain tech buzzwords that no human uses in normal conversation"; public override bool ShouldAct(Message message) { if(Behaver.Instance.Selves.Any(acc => acc.Id == message.Author.Id)) return false; if(message.Channel.EffectivePermissions.ReactionsPossible == true) return false; if((MeannessFilterLevel)message.Channel.EffectivePermissions.MeannessFilterLevel < MeannessFilterLevel.Medium) return false; return Regex.IsMatch(message.Content, "\\bcloud( |-)?native\\b", RegexOptions.IgnoreCase) || Regex.IsMatch(message.Content, "\\benterprise( |-)?(level|solution)\\b", RegexOptions.IgnoreCase); } public override async Task ActOn(Message message) { switch (Shared.r.Next(2)) { case 0: await message.React("\uD83E\uDD2E"); //vomit emoji break; case 1: await message.React("\uD83C\uDDE7"); //B emoji await message.React("\uD83C\uDDE6"); //A await message.React("\uD83C\uDDF3"); //N break; } return true; } }