private void dResult(ParseMessage pm, DND cube) { StringBuilder sb = new StringBuilder(); if (pm.HasArgument && pm.HasMessage) { var listValues = DndCaluclation.GetValues(cube, pm.Argument); sb.Append($"{pm.MessageText}" + " с такими результатами:\n"); foreach (var value in listValues) { sb.Append(value + " "); } TextMessage = sb.ToString(); } else if (!pm.HasArgument && pm.HasMessage || !pm.HasMessage) { sb.Append($"Куб показывает {cube.CubeResult}"); TextMessage = sb.ToString();; } }
private void d20Result(ParseMessage pm, DND cube) { StringBuilder sb = new StringBuilder(); if (pm.HasMessage && pm.HasArgument) { var listValues = DndCaluclation.GetValues(cube, pm.Argument); sb.Append($"{pm.MessageText}" + " с такими результатами:\n"); foreach (var value in listValues) { sb.Append(value + " "); } TextMessage = sb.ToString(); } else if (!pm.HasMessage && pm.HasArgument) { var listValues = DndCaluclation.GetValues(cube, pm.Argument); sb.Append(" с такими результатами:\n"); foreach (var value in listValues) { sb.Append(value + " "); } TextMessage = sb.ToString(); } else if (pm.HasMessage && !pm.HasArgument) { switch (cube.CubeResult) { case int n when(n == 20): sb.Append($"Критический разрыв ебала на {cube.CubeResult}" + "," + $" вы точно: {pm.MessageText} "); TextMessage = sb.ToString(); break; case int n when(n == 1): sb.Append($"Вы обосрались конкретно тупа на {cube.CubeResult}" + "," + " пошёл нахуй!'"); TextMessage = sb.ToString(); break; case int n when(n < 7): sb.Append($"Вы не смогли {pm.MessageText}," + $" куб показывает {cube.CubeResult}"); TextMessage = sb.ToString(); break; case int n when(n >= 7 && n < 11): sb.Append($"Не могу точно сказать смогли ли вы {pm.MessageText}," + $" куб показывает {cube.CubeResult}, кинь ещё раз"); TextMessage = sb.ToString(); break; case int n when(n >= 11 && n <= 19): sb.Append($"Вы смогли {pm.MessageText}," + $" куб показывает: {cube.CubeResult}"); TextMessage = sb.ToString(); break; } } else if (!pm.HasMessage && !pm.HasArgument) { sb.Append($"Куб показывает {cube.CubeResult}"); TextMessage = sb.ToString(); } }
static async void Bot_OnMessage(object sender, MessageEventArgs e) { try { Message message = new Message(); ParseMessage pm = new ParseMessage(); PasteDotaThread pdt = new PasteDotaThread(); pm.ParseUserMessage(message.ReplyToMessage.Text); switch (pm.ExistBotCommands.Find(x => x.Equals(pm.BotCommand))) { case "/paste": pdt.GetPasteFromNotepad(pm); await botClient.SendTextMessageAsync(chatId : e.Message.Chat, text : pdt.MessageText, replyToMessageId : e.Message.MessageId); break; case "/d4": case "/d8": case "/d10": case "/d12": case "/d20": case "/d100": var cube = DndCaluclation.GetCube(pm.BotCommand); DNDResults dndr = new DNDResults(); dndr.SomeResult(pm, cube); await botClient.SendTextMessageAsync(chatId : e.Message.Chat, text : dndr.TextMessage, replyToMessageId : e.Message.MessageId, parseMode : ParseMode.Markdown); dndr.FinalResult(pm, cube); await botClient.SendTextMessageAsync(chatId : e.Message.Chat, text : dndr.TextMessage, replyToMessageId : e.Message.MessageId, parseMode : ParseMode.Markdown); break; case "/otec": pdt.GetPasteFromOtecNotepad(pm); await botClient.SendTextMessageAsync(chatId : e.Message.Chat, text : pdt.MessageText, replyToMessageId : e.Message.MessageId); break; case "/help": await botClient.SendTextMessageAsync(chatId : e.Message.Chat, text : "Напиши вот этому человеку @shadowmorex", replyToMessageId : e.Message.MessageId); break; case "/fresco": Quotes quotes = new Quotes(pm); await using (var file = File.OpenRead(quotes.PathToFile)) { var iof = new InputOnlineFile(file, "quotes.bpm"); await botClient.SendPhotoAsync(e.Message.Chat, iof, "Все факты достоверны и тщательно проверены администрацией", replyToMessageId : e.Message.MessageId); } break; case "/test": await using (var file = File.OpenRead(@"D:\projects\Valentin_Core\Valentin_Core\resources\img\fresco.jpg")) { var iofa = new InputOnlineFile(file, "shit.png"); await botClient.SendPhotoAsync(e.Message.Chat, iofa, "иди нахуй", replyToMessageId : e.Message.MessageId); } break; } } catch (Exception er) { await botClient.SendPhotoAsync(chatId : e.Message.Chat, photo : "http://reactionimage.org/img/gallery/3926393515.jpg", replyToMessageId : e.Message.MessageId, caption : "Какая-то хуйня, больше так не делай.\n" + "Если думаешь, что проблема в боте\n" + "то вызови автора командой */help*", parseMode : ParseMode.Markdown); } }