Exemple #1
0
        /// <summary>
        /// пользователь выбрал тарифный план.
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> SelectServiceType()
        {
            try
            {
                BotMngmntDbContext dbContext = new BotMngmntDbContext();

                var ServiceType = dbContext.ServiceType.Find(Argumetns[1]);

                if (ServiceType.IsDemo) // это тариф пробной версии. Запускаем сразу
                {
                    BotConnectFunction = new BotConnectFunction();

                    SendAction(Telegram.Bot.Types.Enums.ChatAction.Typing);

                    var bot = await BotConnectFunction.SelectServiceType(Argumetns[0], Argumetns[1]);

                    BotMessage = new ServiceInfoMessage(bot, bot.Service);

                    await EditMessage(BotMessage.BuildMsg());

                    await SendMessage(new BotMessage { TextMessage = "Услуга активирована. Отпрвьте вашему боту команду /admin" });

                    bot.SendMessageToOwner("Нажмите сюда /admin");

                    await SendMessage(Convert.ToInt32(BotInfo.OwnerChatId), new BotMessage { TextMessage = "Подключен новый бот @" + bot.BotName + " | Демоверсия" });
                }

                else /// тафиф платной версии. высылаем сообщение с выбором периода времени аренды
                {
                    return(await SendEnterDurationService(Argumetns[0], Argumetns[1], base.MessageId));
                }


                return(OkResult);
            }

            catch (Exception e)
            {
                await SendMessage(new BotMessage { TextMessage = e.Message });
                await SendMessage(Convert.ToInt32(BotInfo.OwnerChatId), new BotMessage { TextMessage = e.Message });

                return(OkResult);
            }

            finally
            {
                if (BotConnectFunction != null)
                {
                    BotConnectFunction.Dispose();
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Добавляем бота в бд
        /// </summary>
        /// <param name="Token"></param>
        /// <returns></returns>
        private async Task <IActionResult> InstertBot(string Token)
        {
            try
            {
                var Getme = await TelegramFunction.GetMe(Token);

                BotConnectFunction = new BotConnectFunction();

                var bot = BotConnectFunction.AddBot(Getme, Token, base.FollowerId);

                if (bot != null)
                {
                    return(await SendServiceTypeList(bot.Id));
                }

                else
                {
                    return(OkResult);
                }
            }


            catch (Exception e)
            {
                if (e.Message.Contains("token"))
                {
                    await SendMessage(new BotMessage { TextMessage = "Ошибка! Не верный токен" });
                }

                return(await SendTextMessageAndForceReply("Создайте бота с помощью @Botfather и пришлите Токен доступа", EnterBotTokenForce));
            }

            finally
            {
                if (BotConnectFunction != null)
                {
                    BotConnectFunction.Dispose();
                }
            }
        }
Exemple #3
0
        private async Task <IActionResult> SaveDurationDay(int BotId, int serviceTypeId, int DayDuration)
        {
            try
            {
                BotConnectFunction = new BotConnectFunction();

                var Invoice = BotConnectFunction.SelectPaidVersion(BotId, serviceTypeId, DayDuration);

                BotMessage = new InvoiceViewMessage(Invoice, BotId, serviceTypeId);

                await EditMessage(BotMessage.BuildMsg());

                return(OkResult);
            }

            catch (Exception e)
            {
                await SendMessage(new BotMessage { TextMessage = e.Message });

                return(OkResult);
            }
        }
Exemple #4
0
        private async Task <IActionResult> CheckPay(int BotId, int InvoiceId)
        {
            try
            {
                BotConnectFunction = new BotConnectFunction();
                base.SendAction(Telegram.Bot.Types.Enums.ChatAction.Typing);
                var bot = await BotConnectFunction.CheckPay(BotId, InvoiceId);

                BotMessage = new BotInfoMessage(bot);

                await base.EditMessage(BotMessage.BuildMsg());

                return(OkResult);
            }

            catch (BotInstallExeption.BotIsLaunchedExeption e)
            {
                await base.AnswerCallback(e.Message, true);
                await SendMessage(Convert.ToInt32(BotInfo.OwnerChatId), new BotMessage { TextMessage = e.Message });

                return(OkResult);
            }

            catch (Exception e)
            {
                await base.AnswerCallback(e.Message, true);
                await SendMessage(Convert.ToInt32(BotInfo.OwnerChatId), new BotMessage { TextMessage = e.Message });

                return(OkResult);
            }

            finally
            {
                BotConnectFunction.Dispose();
            }
        }