Ejemplo n.º 1
0
        private static async void UpdatePaymentBoard(HockeyChat chat, int paymentBoardMsgId, Telegram.Bot.Types.User user, int totalAmount, string OrderName)
        {
            if (chat.Payments == null)
            {
                chat.Payments = new List <HockeyPayment>();
            }
            var payment = chat.Payments.FindLast(x => x.MessageId == paymentBoardMsgId);

            if (payment == null)
            {
                payment = new HockeyPayment()
                {
                    MessageId = paymentBoardMsgId, Payers = new List <Payer>(), Name = OrderName
                };
                chat.Payments.Add(payment);
            }

            var payer = new Payer(paymentBoardMsgId, user.Id, user.Username, user.FirstName, user.LastName, totalAmount);

            payment.Payers.Add(payer);

            try
            {
                await _bot.EditMessageTextAsync(chat.Id, payment.MessageId, payment.Report, parseMode : Telegram.Bot.Types.Enums.ParseMode.Markdown);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 2
0
        public HockeyPayment GetPaymentByMessageId(int messageId)
        {
            var cmd = _conn.CreateCommand();

            cmd.CommandText = "SELECT * FROM payment WHERE messageid = " + messageId;

            try
            {
                var reader = cmd.ExecuteReader();

                while (reader.Read() && reader.HasRows)
                {
                    var payment = new HockeyPayment()
                    {
                        Id        = Convert.ToInt32(reader["id"].ToString()),
                        MessageId = messageId,
                        Payers    = null,
                        Name      = reader["name"].ToString()
                    };
                    return(payment);
                }
            }
            catch (SQLiteException ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(null);
        }
Ejemplo n.º 3
0
        private async void AddPay(HockeyChat chat, string arg)
        {
            var msg = await _bot.SendTextMessageAsync(chat.Id, $"{arg}");

            var payment = new HockeyPayment()
            {
                MessageId = msg.MessageId, Payers = new List <Payer>(), Name = arg
            };
            var payload = $"{chat.Id};{msg.MessageId}";

            var prices = new List <Telegram.Bot.Types.Payments.LabeledPrice>()
            {
                new Telegram.Bot.Types.Payments.LabeledPrice("Traktorista", 30000)
            };
            await _bot.SendInvoiceAsync(chat.Id, arg, "Да не обеднеет рука дающего", payload, Config.UkassaToken, "sasality", "RUB", prices);

            chat.Payments.Add(payment);
        }