예제 #1
0
        internal void SendMessage(TelegramBotClient botClient, Message _message)
        {
            DataBase db   = Singleton.GetInstance().Context;
            User     user = db.GetUser(_message.From.Id); if (IsNullDataBase.IsNull(botClient, _message, user))
            {
                return;                                                                                                         // - заменить на другую таблицу
            }
            User userTwo = SearchUser(_message);

            botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "33 - AddUserInTransaction");

            if (userTwo != null)
            {
                Transaction transaction = db.GetTransaction(user);
                transaction.AddUser = false;
                user.Chain          = (Int32)SetChain.MessageUserInBot;
                db.Save();

                botClient.EditMessage(_message.From.Id, user.MessageID, "Ожидайте пока участник подтвердить действие.", "45 - AddUserInTransaction", user, replyMarkup: InlineButtonBlockchain.GuarantorMeinMenu(user));

                String text = $"✅Подтвердить✅\nОтправитель: {transaction.UserSender.FIO}\nКомиссия: ";
                text += transaction.WhoCommissionPay == true ? "получатель" : "отправитель";
                text += $"\nСумма: {transaction.SumPayNew}\nВалюта: ";
                text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!";

                botClient.SendText(userTwo.ID, text, userTwo, replyMarkup: InlineButtonBlockchain.ConfirmOrCancelThisTransactionUserTwo(transaction));
            }
        }
        private void SendMessage(TelegramBotClient botClient, Message _message)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");

            String text = $"Отправитель: {transaction.UserSender.FIO}";

            text += transaction.UserRecipient != null ? $"\nПолучатель: {transaction.UserRecipient.FIO}" : "";
            text += "\nКомиссия: ";
            text += transaction.WhoCommissionPay == true ? "получатель" : "отправитель";
            text += $"\nСумма: {transaction.SumPayNew}\nВалюта: ";
            text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!";

            if (transaction.PaymentId == 1 && transaction.UserRecipient == null)
            {
                GenerateKey();

                AddresBTC addres = db.GetAddresBTC(addresBTC.PrivateKey);

                transaction.AddresBTCId = addres.Id;
                user.Chain = (Int32)SetChain.SetIdTransaction;
                db.Save();
                text += "__\nНомер кошелька для отправки денег:__ " + "```" + addresBTC.PublickKey + "``` " + "(Текст можно скопировать тапом)";
                text += "__\n\nВведите HASH транзакции, этот параметр обязателен, мы должны понимать что именно вы отправили деньги на наш кошелек!\nВ противном случаи услуги гаранта для вас будут недоступны!__";
                botClient.SendText(_message.From.Id, text, user, replyMarkup: InlineButtonBlockchain.SetTransactionMenu(transaction), IsMarkdown: true);
            }
            else
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, text, "55 - SetBlockChain", user, replyMarkup: InlineButtonBlockchain.SelectConfirmOrCancelThisTransaction(transaction));
                botClient.SendText(transaction.UserSenderId, $"Транзакция была подтверждена {user.FIO}");
            }
        }
예제 #3
0
 public void SendMessage(TelegramBotClient botClient) => botClient.EditMessage(_message.From.Id, user.MessageID, "🔐Гарант🔐", "20 - GuarantorMeinMenu", user, replyMarkup: InlineButtonBlockchain.SettingsCommisionCripta(Value));
        private void SendMessage(TelegramBotClient botClient, Message _message, Int32 request)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");

            String text = $"❌Отменить❌\nОтправитель: {transaction.UserSender.FIO}\nПлучатель: {transaction.UserRecipient.FIO}\nКомиссия: ";

            text += transaction.WhoCommissionPay == true ? "получатель" : "отправитель";
            text += $"\nСумма: {transaction.SumPayNew}\nВалюта: ";
            text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!";
            text += request == (Int32)SetChain.SetTransactionDiscription ? $"\nПричина отправителя: {transaction.DescriptionCancelSender}" : $"\nПричина получателя: {transaction.DescriptionCancelRecipient}";

            botClient.EditMessage(_message.From.Id, user.MessageID, text, "55 - SetBlockChain", user, replyMarkup: InlineButtonBlockchain.SelectConfirmOrCancelThisTransaction(transaction));

            if (request == (Int32)SetChain.SetTransactionDiscription)
            {
                botClient.SendText(transaction.UserRecipient.ID, $"Транзакция {transaction.Name} была отменена пользователем {user.FIO}.\nПричина {transaction.DescriptionCancelSender}");
            }
            else
            {
                botClient.SendText(transaction.UserSender.ID, $"Транзакция {transaction.Name} была отменена пользователем {user.FIO}.\nПричина {transaction.DescriptionCancelRecipient}");
            }
        }
예제 #5
0
        private async Task <Boolean> CheckIdTransaction(TelegramBotClient botClient)
        {
            Transaction   found   = db.GetTransactionByHash(_message.Text);
            TransactionId errTran = db.GetFailedTransactionByHash(_message.Text);

            Boolean isAlreadyUsed = (found != null || errTran != null);

            if (isAlreadyUsed)
            {
                AddIdTransactionFalse();
                botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");
                botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция уже была использованна или она не действительная!", "51 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction));
                return(false);
            }

            Money money = null;

            try
            {
                switch (transaction.PaymentId)
                {
                case 0:
                {
                    return(false);
                }

                case 1:                         // BTC
                {
                    addresBTC = db.GetAddresBTCInt(transaction.AddresBTCId);
                    money     = await BlockchainManager.Instance.GetBTCTransactionMoney(_message.Text, addresBTC);

                    break;
                }

                case 3:                         // Eth
                {
                    money = await BlockchainManager.Instance.GetETHTransactionMoney(_message.Text);

                    break;
                }

                case 4:                         // Ripple
                {
                    money = await BlockchainManager.Instance.GetXRPTransactionMoney(_message.Text);

                    break;
                }
                }
            }
            catch
            {
                AddIdTransactionIsNotBD();
                botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");
                botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция не действительная или она не была подтвержденна, попробуйте ввести транзакцию позже!", "86 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction));
                return(false);
            }
            if (money == null)
            {
                AddIdTransactionFalse();
                botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");
                botClient.EditMessage(_message.From.Id, user.MessageID, "Данная транзакция не действительная или она не была подтвержденна, попробуйте ввести транзакцию позже!", "92 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction));
                return(false);
            }
            Decimal dec     = money.ToDecimal(MoneyUnit.BTC);
            Decimal percent = Convert.ToDecimal(0.15);

            if (dec < transaction.SumPayNew)
            {
                switch (transaction.PaymentId)
                {
                case 1:
                {
                    addresBTC = db.GetAddresBTCInt(transaction.AddresBTCId);
                    await BlockchainManager.Instance.SendBTC(transaction.PublicKeyWalletSender, dec, 0, addresBTC);

                    break;
                }

                case 3:
                {
                    await BlockchainManager.Instance.SendETHBackByHash(_message.Text);

                    break;
                }

                case 4:
                {
                    await BlockchainManager.Instance.SendXRPBackByHash(_message.Text);

                    break;
                }
                }

                AddIdTransactionFalse();
                botClient.DeleteMessage(_message.From.Id, _message.MessageId, "48 - SetBlockChain");
                botClient.EditMessage(_message.From.Id, user.MessageID, "Вы отправили меньше денег нежелеи заявили, ваши деньги были возращены на ваш кошелек!", "122 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction));
                return(false);
            }

            AddIdTransaction();
            return(true);
        }
예제 #6
0
        private void SendMessage(TelegramBotClient botClient, Message _message)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "23 - SetIdTransaction");
            String text = $"Отправитель: {transaction.UserSender.FIO}\nКомиссия: ";

            text += transaction.WhoCommissionPay == true ? "получатель" : "отправитель";
            text += $"\nСумма: {transaction.SumPayNew}\nВалюта: ";
            text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!";

            botClient.EditMessage(_message.From.Id, user.MessageID, text, "29 - SetIdTransaction", user, replyMarkup: InlineButtonBlockchain.TransactionCreationGuarantor(transaction));
        }
예제 #7
0
        private void SendTextFalse(TelegramBotClient botClient, Message _message)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "26 - SetBlockChain");

            String text = "Вы ввели недостаточно денег!\nМинимальная сумма поплнения 3 доллара или 100 грн!";

            botClient.EditMessage(_message.From.Id, user.MessageID, text, "50 - SetBlockChain", user, replyMarkup: InlineButtonBlockchain.ChoosingPaymentMethod(transaction));
        }
예제 #8
0
        private void SendMessage(TelegramBotClient botClient, Message _message)
        {
            botClient.DeleteMessage(_message.From.Id, _message.MessageId, "26 - SetBlockChain");

            String text = $"✅Подтвердить✅\nОтправитель: {transaction.UserSender.FIO}\nКомиссия: ";

            text += transaction.WhoCommissionPay == true ? "отправитель" : "получатель";
            text += transaction.WhoCommissionPay == true ? $"\nСумма: {transaction.SumPayNew}\nВалюта: " : $"\nСумма: {_message.Text}\nВалюта: ";
            text += transaction.PaymentId == 1 ? "BTC" : transaction.PaymentId == 2 ? "USDT" : transaction.PaymentId == 3 ? "Ethereum" : transaction.PaymentId == 4 ? "Ripple" : "не выбрана!";

            switch (transaction.PaymentId)
            {
            case 1:
                text += "\n\nВведите номер кошелька(public key), это нужно для того что бы мы понимали куда отправлять деньги в случаи неудачной сделки!";
                break;

            case 3:
                text += "__\nНомер кошелька для отправки денег:__" + $"```{BlockchainManager.Instance.Settings.ethWalletAddress}``` " + "__(Текст можно скопировать тапом)__";
                break;

            case 4:
                text += "__\nНомер кошелька для отправки денег: __" + $"```{BlockchainManager.Instance.Settings.xrpWalletAddress}``` " + "__(Текст можно скопировать тапом)__";
                break;
            }


            if (transaction.PaymentId == 1 && transaction.UserRecipient == null)
            {
                botClient.EditMessage(_message.From.Id, user.MessageID, text, "50 - SetBlockChain", user, replyMarkup: InlineButtonBlockchain.ChoosingPaymentMethodToBack(transaction), IsMarkdown: true);
            }
            else
            {
                text += "__\n\nВведите HASH транзакции, этот параметр обязателен, мы должны понимать что именно вы отправили деньги на наш кошелек!\nВ противном случаи услуги гаранта для вас будут недоступны!__";
                botClient.EditMessage(_message.From.Id, user.MessageID, text, "55 - SetBlockChain", user, replyMarkup: InlineButtonBlockchain.SetTransactionMenu(transaction), IsMarkdown: true);
            }
        }
예제 #9
0
        internal void SendMessage(TelegramBotClient botClient, Message _message)
        {
            DataBase db   = Singleton.GetInstance().Context;
            User     user = db.GetUser(_message.From.Id); if (IsNullDataBase.IsNull(botClient, _message, user))

            {
                return;                                                                                                         // - заменить на другую таблицу
            }
            botClient.DeleteMessage(_message.Chat.Id, _message.MessageId, "33 - AddUserInTransaction");

            botClient.EditMessage(_message.From.Id, user.MessageID, "Ваша заявка была отправлена администраторам, ожидайте в ближайшее время с вами свяжутся!", "45 - AddUserInTransaction", user, replyMarkup: InlineButtonBlockchain.GuarantorMeinMenu(user));

            String temp = $"Помощь по гаранту\n🆔: {user.ID}\n🖌ФИО: {user.FIO}\n📱Номер: {user.Number}\n";

            temp += user.Username != "Нет!" ? "🧸Юзернейм: @" + user.Username : "";
            temp += $"\nСообщение: \n{_message.Text}";

            Settings settings = db.GetSettings();

            botClient.SendText(settings.ChannelAdmin, temp);
        }