def card_order(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = [
        'sifariş et', 'faizlər və ödəniş', 'harada keçir', 'geriyə qayıt'
    ]
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    while text.lower() == 'kart sifarişi':
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        sleep(0.5)
    if text.lower() == commands[0]:
        credit_calculator.ask_credit_details(chat_id, update_id)
    elif text.lower() == commands[1]:
        rates_and_payments(chat_id, update_id)
    elif text.lower() == commands[2]:
        message = eligibility
        commands = ["partnyor təklifi", "geriyə qayıt"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            message = 'BirKart taksit kartı partnyorları siyahısına yeni partnyorun əlavə olunması ilə bağlı müraciətinizi aşağıdaki linkdən edə bilərsiniz:' + url_partner
            bot.send_message(chat_id, message, reply_markup=None)
            chat_id, text, update_id = bot.get_last_id_text(
                bot.get_updates(update_id + 1))
        elif text.lower() == commands[1]:
            card_order(chat_id, update_id)
    elif text.lower() == commands[3]:
        bot.menu(chat_id, text, update_id)
def ask_credit_details(chat_id, update_id):
    """ Ask user's information (user_name, user_surname, user_phone, user_company,
    user_credit_amount, user_reason) so as to confirm borrowing credit
    """
    new_values = {'$set': {}}
    sender = {'sender_id': chat_id, 'user_data': {}}
    bot.insert_sender(sender)
    questions = [
        "Zəhmət olmasa adınızı daxil edin",
        "Zəhmət olmasa soyadınızı daxil edin",
        "Zəhmət olmasa telefon nömrənizi daxil edin",
        "İşlədiyiniz təşkilatin adını daxil edin",
        "Kredit götürmək istədiyiniz məbləği daxil edin",
        "Krediti nə üçün götürmək istəyirsiniz?",
        "Sizin kredit sorğunuz qeydə alındı, təşəkkürlər. Tezliklə sizə cavab veriləcək."
    ]
    columns = [
        "user_name", "user_surname", "user_phone", "user_company",
        "user_credit_amount", "user_reason"
    ]

    for i in range(len(questions)):
        message = questions[i]
        bot.send_message(chat_id, message)
        if i != len(questions) - 1:
            chat_id, text, update_id = bot.get_last_id_text(
                bot.get_updates(update_id + 1))
            while text == questions[i]:
                chat_id, text, update_id = bot.get_last_id_text(
                    bot.get_updates(update_id + 1))
                sleep(0.5)
            if text:
                if columns[i] == "user_phone":
                    while True:
                        try:
                            new_values['$set']['user_data.amount'] = int(text)
                            break
                        except ValueError:
                            message = "Zəhmət olmasa, mobil nömrənizi rəqəmlərlə daxil edin, məsələn: 0705505050"
                            bot.send_message(chat_id, message)
                            message = questions[i]
                            bot.send_message(chat_id, message)
                            chat_id, text, update_id = bot.get_last_id_text(
                                bot.get_updates(update_id + 1))
                else:
                    new_values['$set']['user_data.{}'.format(
                        columns[i])] = text
                    sender = bot.update_sender(sender, new_values)
        else:
            break
def limits(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = [
        'maaşa uyğun limit', 'birkart limiti', 'limit artırmaq', 'geriyə'
    ]
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    if text.lower() == commands[1]:
        message = "Birkart kredit kartı üzrə limit 100 AZN-dən - 10 000 AZN-ə kimi olur, hər müştərinin maliyyə durumuna uyğun kredit limiti ayrılır."
        commands = ["maaşa görə hesabla", "geriyə"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
Exemple #4
0
def cards_info(chat_id, update_id):
    sender = {'sender_id': chat_id,
              'user_data': {}}
    commands = ['birkart taksit', 'birkart cashback', 'birkart miles']
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    while text.lower() == 'kart növləri':
        chat_id, text, update_id = bot.get_last_id_text(bot.get_updates(update_id + 1))
        sleep(0.5)
    if text.lower() == commands[0]:
        message = taksit_info
        commands = ["kart sifarişi", "tariflər və qiymət"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            credit_calculator.ask_credit_details(chat_id, update_id)
        elif text.lower() == commands[1]:
            message = taksit_tarif
            bot.send_message(chat_id, message, reply_markup=None)
    elif text.lower() == commands[1]:
        message = cashback_info
        commands = ["kart sifarişi", "tariflər və qiymət"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            credit_calculator.ask_credit_details(chat_id, update_id)
        elif text.lower() == commands[1]:
            message = cashback_tarif
            bot.send_message(chat_id, message, reply_markup=None)
    elif text.lower() == commands[2]:
        message = miles_info
        commands = ["kart sifarişi", "tariflər və qiymət"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            credit_calculator.ask_credit_details(chat_id, update_id)
        elif text.lower() == commands[1]:
            message = miles_tarif
            bot.send_message(chat_id, message, reply_markup=None)
def requirements_menu(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = ['kimlər ala bilər', 'hansı sənədlər ', 'birkart ala bilərəm']
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    while text.lower() == 'tələblər və sənədlər':
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        sleep(0.5)
    if text.lower() == commands[0]:
        message = who_are_eligible
        commands = ["kart sifarişi", "sənəd siyahısı"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            credit_calculator.ask_credit_details(chat_id, update_id)
        elif text.lower() == commands[1]:
            message = documents_list
            commands = ["kart sifarişi"]
            reply_markup = bot.reply_markup_maker(commands)
            bot.send_message(chat_id, message, reply_markup)
            chat_id, text, update_id = bot.get_last_id_text(
                bot.get_updates(update_id + 1))
            if text.lower() == commands[0]:
                credit_calculator.ask_credit_details(chat_id, update_id)
    if text.lower() == commands[1]:
        message = documents_list
        commands = ["kart sifarişi"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            credit_calculator.ask_credit_details(chat_id, update_id)
    if text.lower() == commands[2]:
        #needs edit
        credit_calculator.ask_credit_details(chat_id, update_id)
def rates_and_payments(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = ['ödənişlər', 'faizlər', 'limitlər', 'geriyə qayıt']
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    while text.lower() == 'faizlər və ödəniş':
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        sleep(0.5)
    if text.lower() == commands[0]:
        payments(chat_id, update_id)
    elif text.lower() == commands[1]:
        interest_rates(chat_id, update_id)
    elif text.lower() == commands[2]:
        limits(chat_id, update_id)
    elif text.lower() == commands[3]:
        card_order(chat_id, update_id)
def interest_rates(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = ['nağdlaşma', 'partnyor mağazalar', 'digər mağazalar', 'geriyə']
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    if text.lower() == commands[1]:
        message = "Partnyor mağazalar -  BirKartla partnyor olduğumuz mağazalarda əməliyyat aparıb, faizsiz taksitlə ödəniş edə bilərsiz. Partnyor mağazalar siyahısı ilə tanış ola bilərsiniz : https://birkart.az/harada-kecerlidir?search=&category=&taksit=0&taksit2=18/&%20"
        commands = ["geriyə"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
    if text.lower() == commands[2]:
        message = other_shops
        commands = ["geriyə"]
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
    if text.lower() == commands[3]:
        rates_and_payments(chat_id, update_id)
def payments(chat_id, update_id):
    sender = {'sender_id': chat_id, 'user_data': {}}
    commands = ['ödəniş hesablama', 'borc öyrənmə', 'borcun ödənişi', 'geriyə']
    text = "Xidmətlərdən birini seçin"
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, text, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    if text.lower() == commands[0]:
        message = payment_calculate + cabinet_url
        bot.send_message(chat_id, message, reply_markup=None)
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
    if text.lower() == commands[1]:
        commands = ['cif nədir', 'geriyə']
        message = "BirKart üzrə borcunuzu öyrənmək üçün şəxsi kabinetinizə daxil olun. CİF kodunuzu daxil edərək, borcunuzu öyrənə bilərsiniz. https://birkart.az/cabinet/&%20"
        reply_markup = bot.reply_markup_maker(commands)
        bot.send_message(chat_id, message, reply_markup)
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        if text.lower() == commands[0]:
            message = cif
            commands = ['geriyə']
            reply_markup = bot.reply_markup_maker(commands)
            bot.send_message(chat_id, message, reply_markup)
            chat_id, text, update_id = bot.get_last_id_text(
                bot.get_updates(update_id + 1))
            if text.lower() == commands[0]:
                payments(chat_id, update_id)
        if text.lower() == commands[1]:
            payments(chat_id, update_id)
    if text.lower() == commands[2]:
        message = "Linkə daxil olub borcu ödəyə bilərsiniz : https://pay.kapitalbank.az/"
        bot.send_message(chat_id, message, reply_markup=None)
    if text.lower() == commands[3]:
        card_order(chat_id, update_id)
def ask_credit_calculator_details(chat_id, update_id, step=0):
    """Ask credit details (credit_assurance, credit_months, credit_amount)
    from user and calculate (final_amount)
    """
    new_values = {'$set': {}}
    sender = {'sender_id': chat_id, 'user_data': {}}
    # bot.back_to_menu(chat_id,update_id)
    message = "Kredit sifarişi blokuna daxil olmusunuz. Təminatlıdır?"
    commands = ["Təminatlıdır", "Təminatlı Deyil", "Geriyə qayıt"]
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, message, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    bot.insert_sender(sender)
    while text.lower() == 'kredit':
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        sleep(0.5)
    if text == commands[0]:
        new_values['$set']['user_data.credit_assurance'] = True
        sender = bot.update_sender(sender, new_values)
        print('True')
    elif text == commands[1]:
        new_values['$set']['user_data.credit_assurance'] = False
        sender = bot.update_sender(sender, new_values)
        print('False')
    elif text == commands[2]:
        bot.menu(chat_id, text, update_id)
        return
    print(text)
    message = "Kredit müddəti neçə aydır?"
    commands = ['12', '24', '36', 'Geriyə qayıt']
    reply_markup = bot.reply_markup_maker(commands)
    bot.send_message(chat_id, message, reply_markup)
    chat_id, text, update_id = bot.get_last_id_text(
        bot.get_updates(update_id + 1))
    while text == "Təminatlıdır":
        chat_id, text, update_id = bot.get_last_id_text(
            bot.get_updates(update_id + 1))
        sleep(0.5)
    if text in commands:
        if text == commands[3]:
            bot.menu(chat_id, text, update_id)
        else:
            new_values['$set']['user_data.credit_months'] = text
            sender = bot.update_sender(sender, new_values)
            message = "Kredit məbləği nə qədərdir?"
            bot.send_message(chat_id, message, reply_markup=None)
            chat_id, text, update_id = bot.get_last_id_text(
                bot.get_updates(update_id + 1))
            while text == "Kredit məbləği nə qədərdir?":
                chat_id, text, update_id = bot.get_last_id_text(
                    bot.get_updates(update_id + 1))
                sleep(0.5)
            if text:
                new_values['$set']['user_data.credit_amount'] = text
                sender = bot.update_sender(sender, new_values)
                calculated_credit = credit_calculator(
                    sender['user_data']['credit_assurance'],
                    int(sender['user_data']['credit_months']), int(text))
                new_values['$set'][
                    'user_data.credit_monthly'] = calculated_credit['monthly']
                new_values['$set'][
                    'user_data.credit_final_amount'] = calculated_credit[
                        'final_amount']
                sender = bot.update_sender(sender, new_values)
                print(calculated_credit)
                monthly = calculated_credit['monthly']
                final_amount = str(calculated_credit['final_amount'])
                message = f'{final_amount} məbləğində sifarişiniz qeydə alındı. Rəsmiləşdirmək istəyirsiniz?'
                commands = ["Bəli", "Xeyr"]
                reply_markup = bot.reply_markup_maker(commands)
                bot.send_message(chat_id, message, reply_markup)
                chat_id, text, update_id = bot.get_last_id_text(
                    bot.get_updates(update_id + 1))
                if text == commands[0]:
                    print('beli')
                    ask_credit_details(chat_id, update_id)
                    return
                else:
                    bot.menu(chat_id, text, update_id)