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¤cy=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
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
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