private static string Process(Message message) { var inputText = message.Text; if (inputText == "/start") { Log.Information("Started new chat with {User}", message.MessageId, message.From.Username); return("Привет, меня зовут Сифон и я <i>алкоголик</i> матершинник. Напиши мне что-нибудь, а я в ответ буду материться - это все, что мне под силу."); } if (string.IsNullOrWhiteSpace(inputText)) { Log.Warning("Empty message #{MessageId} from {User} '{Text}'", message.MessageId, message.From.Username, message.Text); return("Скажи хоть что-нибудь"); } ResultData result; while (true) { result = Engine.Process(inputText); if (result.PossibleChanges == 0) { Log.Warning("Nothing to reply to message #{MessageId} from {User} '{Text}'", message.MessageId, message.From.Username, message.Text); return("Тут ловить нечего, давай посложнее чего!"); } if (result.PerformedChanges > 0) { break; } } var renderer = new BotHtmlResultRenderer(); result.Render(renderer); var outputText = renderer.Result; if (string.IsNullOrWhiteSpace(outputText)) { return("Эх, не вышло ничего у меня"); } Log.Information("Replied to message #{MessageId} from {User} '{Text}'", message.MessageId, message.From.Username, message.Text); return(outputText); }
static void Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Console.InputEncoding = Encoding.GetEncoding(1251); Console.OutputEncoding = Encoding.UTF8; var engine = new SyphonEngine(Preset.PetrovichRu, Level.L3, true); while (true) { using (CLI.WithForeground(ConsoleColor.Magenta)) { Console.Write(">"); } var str = Console.ReadLine(); var res = engine.Process(str); Console.WriteLine(); res.Render(new ConsoleResultRenderer()); } }