public async Task <string> Method(int IdPeop, string FirstName, string LastName, string[] AccId) { var client = new MongoClient("mongodb://localhost"); var database = client.GetDatabase("GamesAcc"); var collection = database.GetCollection <PaymentsModel>("Payments"); MainWork costAcc = new MainWork(); decimal price = costAcc.CostsID(Program.id).GetAwaiter().GetResult(); //Qiwi.BillPayments.Model.Out.BillResponse var newPayment = clientQiwi.CreateBill( info: new CreateBillInfo { BillId = Guid.NewGuid().ToString(), Amount = new MoneyAmount { ValueDecimal = price, CurrencyEnum = CurrencyEnum.Rub }, Comment = "comment", ExpirationDateTime = DateTime.Now.AddDays(45), Customer = new Customer { Email = "*****@*****.**", Account = Guid.NewGuid().ToString(), Phone = "79265064230" } }, customFields: new CustomFields { ThemeCode = "кодСтиля" } ); BDwithPay.UserBillId = newPayment.BillId.ToString(); //var infopayment = clientQiwi.GetBillInfo(newPayment.BillId); var model = new PaymentsModel { Id = ObjectId.GenerateNewId(), FirstName = FirstName, LastName = LastName, IDPeop = IdPeop, Url = newPayment.PayUrl.ToString(), Status = newPayment.Status.ValueString.ToString(), BillId = newPayment.BillId.ToString(), BuyAcc = AccId }; await collection.InsertOneAsync(model); string url = newPayment.PayUrl.ToString(); return(url); }
private async static void BotClient_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e) { var message = e.Message; if (message.Type != MessageType.Text) { return; } Console.WriteLine($"{message.From.FirstName} отправил сообщение: {message.Text} ПО времени {DateTime.Now}"); if (message.Text.StartsWith("/buy")) { //////////////////////////PAY////////////////////// id = message.Text.Replace("/buy", string.Empty).TrimStart().Split(','); MainWork newWork = new MainWork(); BDwithPay pay = new BDwithPay(); var boolInfo = newWork.CheckInDBAcc(id).GetAwaiter().GetResult(); if (boolInfo.All(x => x == true)) { var cost = newWork.CostsID(id); // цена акков по ID int IdPeop = e.Message.From.Id; // ID человека string FirstName = e.Message.From.FirstName; // Ник юзера string LastName = e.Message.From.LastName; // ник юзера string url = pay.Method(IdPeop, FirstName, LastName, id).GetAwaiter().GetResult(); //сделать проверку на наличие акков await botClient.SendTextMessageAsync(e.Message.Chat, "На покупку у вас будет 5 минут, после ваш счет будет отменен"); await botClient.SendTextMessageAsync(e.Message.Chat, url); if (pay.UpdatePayments(id).GetAwaiter().GetResult() == true) { var accsForGive = newWork.BuyId(id).GetAwaiter().GetResult(); foreach (var acc in accsForGive) { await botClient.SendTextMessageAsync(e.Message.Chat, acc); } await botClient.SendTextMessageAsync(e.Message.Chat, "Спасибо за покупку, покупайте еще!"); Console.WriteLine($"Была совершена покупка: FirstName: {e.Message.From.FirstName} || LastName: {e.Message.From.LastName}"); } else { await botClient.SendTextMessageAsync(e.Message.Chat, "Вы не успели оплатить. Ваша заявка отклонена!"); Console.WriteLine($"Не успел оплатить за аккаунты: FirstName:{e.Message.From.FirstName} LastName:{e.Message.From.LastName}"); } } else { await botClient.SendTextMessageAsync(e.Message.Chat, "Один или несколько аккаунтов из вашего списка уже КУПЛЕНЫ либо вы ошиблись с вводом ID!"); Console.WriteLine($"Нехватка Акков/ОшибкаID:\nFirstName:{e.Message.From.FirstName}\nLastName:{e.Message.From.LastName} "); } //////////////////////////PAY////////////////////// } switch (message.Text) { case "/start": try { string commands = "Создатель TG: /creator \r\nПокупка: /menu \r\nДополнительная информация: /info"; var replyKeyBoard = new ReplyKeyboardMarkup(new[] { new[] { new KeyboardButton("MENU") } }) { ResizeKeyboard = true }; await botClient.SendTextMessageAsync(e.Message.Chat, commands, replyMarkup : replyKeyBoard); } catch { Console.WriteLine("Был возможный краш!"); } break; case "/menu": case "MENU": try { await botClient.SendTextMessageAsync(e.Message.Chat, "VPN сервисы:"); var inlineKeyBoard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithCallbackData("NORD") }, new[] { InlineKeyboardButton.WithCallbackData("IPVANISH") }, new[] { InlineKeyboardButton.WithCallbackData("ZETMATE") }, new[] { InlineKeyboardButton.WithCallbackData("HMAPRO") }, new[] { InlineKeyboardButton.WithCallbackData("WINDSCRIBE") }, new[] { InlineKeyboardButton.WithCallbackData("TUNNELBEAR") }, new[] { InlineKeyboardButton.WithCallbackData("VYPRVPN") } }); await botClient.SendTextMessageAsync(e.Message.Chat, "Выберите что хотели бы купить", replyMarkup : inlineKeyBoard); } catch { Console.WriteLine("Был возможный краш!"); } break; case "/creator": try { await botClient.SendTextMessageAsync(e.Message.Chat, "@user1771"); } catch { Console.WriteLine("Был возможный краш!"); } break; case "/info": try { await botClient.SendTextMessageAsync(e.Message.Chat, "Для поддержки обращаться - @user1771"); } catch { Console.WriteLine("Был возможный краш!"); } break; } }