Example #1
0
def session(chat_id):
    try:
        api = QApi(token=others.token, phone=others.phone)
        price = 1

        code = f'{bill_create(5)}_{random.randint(0, 999999999)}'
        if (code in in_comment):
            code += f'{random.randint(0, 999)}'
        else:
            in_comment.append(code)

        others.create_bill_id(chat_id, code)
        comment = api.bill(price, code)

        inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
        inline = types.InlineKeyboardButton(
            text="Перейти к оплате",
            url=
            f'https://qiwi.com/payment/form/99?extra[%27account%27]=+{others.phone}&amountInteger=1&amountFraction=0&currency=643&extra[%27comment%27]={others.user_bill_id(chat_id)}&blocked[0]=account&blocked[1]=comment'
        )
        inline_keyboard.add(inline)
        bot.send_message(
            chat_id,
            f"💁🏻‍♀️ Пополнение *баланса* QIWI\n\nЛицевой счёт: `{others.phone}`\nПримечание: `{comment}`\nМинимальный перевод: *{price}* ₽\n\nℹ️ Вы можете воспользоваться ссылкой для быстрого пополнения кошелька",
            parse_mode="Markdown",
            reply_markup=inline_keyboard)
        api.start()

        api_start = True
        end = datetime.now() + timedelta(minutes=5)
        while (api_start == True):
            if (datetime.now() >= end):
                api_start = False
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ Время на пополнение баланса истекло. Повторите попытку позже."
                )
                others.user_delete_bill(chat_id)
                api.stop()

            if api.check(comment):
                json_data = api.payments['data']
                payment = ''
                for x in json_data:
                    if (x['comment']) == comment:
                        payment = x['sum']['amount']
                        bot.send_message(
                            chat_id,
                            f"💁🏻‍♀️ Пополнение баланса *завершено*\n\nПополнение счета на сумму *{payment}* ₽ успешно завершено.",
                            parse_mode="Markdown")
                        others.user_update_balance(chat_id, int(payment))

                        notification(chat_id, payment)

                        others.user_delete_bill(chat_id)
                        api.stop()
                        api_start = False
                        break
    except:
        pass
Example #2
0
def session_cp(chat_id):
    try:
        end = datetime.now() + timedelta(minutes=30)
        api_start = True

        while (api_start == True):

            if (datetime.now() >= end):
                api_start = False
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ Время на пополнение баланса *истекло.* Повторите попытку позже.",
                    parse_mode="Markdown")
                others.user_delete_bill(chat_id)
    except:
        pass
Example #3
0
def answer(call):
    chat_id = call.message.chat.id
    try:
        if (call.data) == "Cuvie":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD Cuvie'

            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD Cuvie*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data) == "Stark":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD Stark'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD Stark*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data) == "V2":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD V2'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD V2*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data) == "CuviePlus":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD Cuvie Plus'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD Cuvie Plus*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data) == "Ultra":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD Ultra Stick'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD Ultra Stick*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data) == "Maxim":
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'HQD Maxim'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *HQD Maxim*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes)
            bot.register_next_step_handler(msg, enterTastes)
        elif (call.data == "Promo"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Juul Promo Kit'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *Juul Promo Kit*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes_juul)
            bot.register_next_step_handler(msg, enterTastesJuul)
        elif (call.data == "Device"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Juul Device Kit'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *Juul Device Kit*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes_juul)
            bot.register_next_step_handler(msg, enterTastesJuul)
        elif (call.data == "Starter"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Juul Starter Kit'
            user.id = '0'

            msg = bot.send_message(
                chat_id,
                "💁🏻‍♀️ Этап покупки *Juul Starter Kit*\n\nВыберите *вкус*",
                parse_mode="Markdown",
                reply_markup=tastes_juul)
            bot.register_next_step_handler(msg, enterTastesJuul)
        elif (call.data) == "CANCEL":
            bot.clear_step_handler_by_chat_id(chat_id=call.message.chat.id)
        elif (call.data == "DEPOSIT"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline_1 = types.InlineKeyboardButton(
                text="Прямой перевод QIWI 0%", callback_data='QIWI')
            inline_2 = types.InlineKeyboardButton(
                text="Crystal Pay (Card, Yandex, Qiwi) 2%",
                callback_data='CARD')
            inline_keyboard.add(inline_1, inline_2)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text=
                "💁🏻‍♀️ Пополнение *баланса*\n\nВыберите желаемый метод пополнения",
                parse_mode="Markdown",
                reply_markup=inline_keyboard)
        elif (call.data) == "QIWI":
            try:
                create_session(chat_id)
            except:
                pass
        elif (call.data) == "CARD":
            if (others.user_exists_bill(chat_id) == False):
                msg = bot.send_message(
                    chat_id,
                    f"💁🏻‍♀️ Введите *сумму пополнения* баланса. Минимальное пополнение — *200 рублей*",
                    parse_mode="Markdown")
                bot.register_next_step_handler(msg, enterDeposit)
            else:
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ У вас есть *активная* сессия. Для создания новой, Вы должны завершить предыдущую сессию.",
                    parse_mode="Markdown")
        elif (call.data) == "BUY":
            chat_message = call.message.text
            chat_message = chat_message.split("\n")
            price_split = chat_message[4].split(":")
            price = int(price_split[1])
            others.user_un_balance(chat_id, price)
            if (others.user_un_balance(chat_id, price) == True):
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ Товар *успешно* куплен. Ваша заявка в очереди, с Вами свяжется спец-менеджер.",
                    parse_mode="Markdown")
            else:
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ Ошибка покупки: *недостаточно* средств на балансе.",
                    parse_mode="Markdown")
        elif (call.data) == "REFERAL":
            if (others.user_count_ref(chat_id) > 0):
                ref_ = ''
                for referal in others.user_referals(chat_id):
                    ref_ += f"{referal}\n"

                bot.send_message(
                    chat_id,
                    f"💁🏻‍♀️ *Ваши* рефералы\n\nКоличество приглашенных: *{others.user_count_ref(chat_id)}*\nЗаработано: *0* ₽\n\nДля достижения высоких результатов, внимательно подходите к поиску целевой аудитории: *привлекайте только тех, кто будет покупать наши услуги.*\n\n*Telegram ID:*`\n{ref_}`",
                    parse_mode="Markdown")
            else:
                bot.send_message(
                    chat_id,
                    "💁🏻‍♀️ У вас нет *рефералов*\n\nИспользуйте свою реферальную ссылку для привлечения новых пользователей и зарабатывайте на этом!",
                    parse_mode="Markdown")
        elif ("CHECK-" in call.data):
            code = call.data
            code = code.split("-")
            code = code[1]

            request = requests.get(
                f'https://api.crystalpay.ru/api.php?s={others.secret}&n={others.login}&o=checkpay&i={code}'
            )
            js = request.json()

            if (js['state'] == "payed"):
                payment = int(js['amount'])

                bot.send_message(
                    chat_id,
                    f"💁🏻‍♀️ Пополнение баланса *завершено*\n\nПополнение счета на сумму *{payment}* ₽ успешно завершено.",
                    parse_mode="Markdown")
                others.user_update_balance(chat_id, int(payment))

                notification(chat_id, payment)

                others.user_delete_bill(chat_id)
                bot.delete_message(chat_id=call.message.chat.id,
                                   message_id=call.message.message_id)
            else:
                bot.send_message(
                    chat_id,
                    "😟 Платеж *не был найден.* Повторите попытку снова или свяжитесь с поддержкой",
                    parse_mode="Markdown")
        elif (call.data == "Mango"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Манго'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "Mix"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Микс'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "Vanilla"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Ваниль'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "Mint"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Мята'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "Tobacco"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Табак'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "Virginia"):
            inline_keyboard = types.InlineKeyboardMarkup(row_width=1)
            inline = types.InlineKeyboardButton(text="Отменить покупку",
                                                callback_data='CANCEL')
            inline_keyboard.add(inline)

            user_dict[chat_id] = User(chat_id)
            user = user_dict[chat_id]
            user.name = 'Вирджиния'
            user.id = '1'

            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Этап покупки картридж *{user.name}*\n\nВыберите упаковку _(2 или 4)_",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, enterCount)
        elif (call.data == "SEND_CODE"):
            msg = bot.send_message(
                chat_id,
                f"💁🏻‍♀️ Бонус *50* ₽\n\nВведите *код-приглашение*",
                parse_mode="Markdown")
            bot.register_next_step_handler(msg, user_invite_code)
    except:
        pass