Пример #1
0
        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();;
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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);
            }
        }