def hapus_pelanggan(id, phone_number):
    message = []
    respon_pelanggan = requests.post(app.config['URL']+"/customer/all", headers={"Authorization": "Bearer "+ save_redis.get("%s::token" %(phone_number))})
    respon_pelanggan = respon_pelanggan.json()
    no_pelanggan = re.findall("hapus.+", id.lower())
    no_pelanggan = regex_num(no_pelanggan[0])
    if int(no_pelanggan) <= len(respon_pelanggan['data']['records']):
        id_pelanggan = respon_pelanggan['data']['records'][int(no_pelanggan)-1]['id']
        hapus = requests.delete(app.config['URL']+"/customer/" + str(id_pelanggan), headers={"Authorization": "Bearer "+ save_redis.get("%s::token" %(phone_number))})
        if hapus.status_code == 200:
            message.append("Pelanggan berhasil dihapus!")
        else:
            message.append("Pelanggan gagal dihapus! ")
    else:
        message.append("Nomor Pelanggan yang Anda masukkan salah")
        message.append("Silahkan ulangi kembali")

    pesan = []
    pesan.append("Ketik *Pelanggan* untuk kembali ke halaman Pelanggan")
    pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
    pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
    message.append(("\n").join(pesan))
    save_redis.set("%s::menu" %(phone_number), "pelanggan")

    return message
Example #2
0
def hapus_jenis_unit(id, phone_number):
    message = []
    id = id.lower()
    respon_jenis_unit = requests.post(app.config['URL']+"/unit_type/all", headers={"Authorization": "Bearer " + save_redis.get("%s::token" %(phone_number))})
    respon_jenis_unit = respon_jenis_unit.json()
    no_jenis_unit = re.findall("hapus.+", id.lower())
    no_jenis_unit = regex_num(no_jenis_unit[0])
    
    if int(no_jenis_unit) <= len(respon_jenis_unit['data']['records']):
        id_jenis_produk = respon_jenis_unit['data']['records'][int(no_jenis_unit)-1]['id']
        hapus = requests.delete(app.config['URL']+"/unit_type/" + str(id_jenis_produk),
                                headers={"Authorization": "Bearer " + save_redis.get("%s::token" %(phone_number))})
        if hapus.status_code == 200:
            message.append("Jenis Unit berhasil dihapus")
        else:
            message.append("Jenis Unit gagal dihapus")
            message.append(hapus.json()["message"]["body"])
    else:
        message.append("Nomor Jenis Unit yang Anda masukkan salah")
        message.append("Silahkan ulangi kembali")

    pesan = []
    pesan.append("Ketik *Jenis Unit* untuk kembali ke halaman Jenis Unit")
    pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
    pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
    message.append(('\n').join(pesan))
    save_redis.set("%s::menu" %(phone_number), "jenis_unit")

    return message
Example #3
0
def jenis_unit(incoming_msg, phone_number, bot_responses):
    respon_jenis_unit = requests.post(app.config['URL']+"/unit_type/all", headers={"Authorization": "Bearer " + save_redis.get("%s::token" %(phone_number))})
    respon_jenis_unit = respon_jenis_unit.json()
    list_jenis_unit = respon_jenis_unit["data"]['records']
    message = []
    if "jenis_unit" in save_redis.get("%s::menu" %(phone_number)):
        if "tambah" in incoming_msg.lower():
            message = tambah_jenis_unit(incoming_msg, phone_number)
        elif "ubah" in incoming_msg.lower():
            incoming_msg = incoming_msg.lower()
            no_jenis_unit = re.findall("ubah.+", incoming_msg.lower())
            no_jenis_unit = regex_num(no_jenis_unit[0])
            if int(no_jenis_unit) > len(respon_jenis_unit['data']['records']):
                message.append("Nomor Jenis Unit yang Anda masukkan tidak tersedia!")
                message.append("")
                message.append("Silahkan ketik *Jenis Unit* untuk kembali ke halaman sebelumnya")
            else:
                id_jenis_produk = respon_jenis_unit['data']['records'][int(no_jenis_unit)-1]['id']
                message = ubah_jenis_unit(incoming_msg, phone_number, id_jenis_produk)
        elif "hapus" in incoming_msg.lower():
            message = hapus_jenis_unit(incoming_msg, phone_number)
        elif save_redis.get("%s::menu" %(phone_number)) == "jenis_unit":
            if respon_jenis_unit["data"]["count"] != 0:
                message_bubble = [bot_responses]
                all_bubble = []
                for index, item in enumerate(list_jenis_unit):
                    tiap_data = []
                    tiap_data.append("%s. Nama: %s" % (index+1, item['name']))
                    tiap_data.append("    Produk: %s" % (item['product_name']))
                    tiap_data.append("    Deskripsi: %s \n" %
                                     (item['description']))
                    tiap_data = ('\n').join(tiap_data)

                    if len(message_bubble[0]) + len(tiap_data) < 1600:
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                    else:
                        all_bubble.append(message_bubble)
                        message_bubble = ['']
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                all_bubble.append(message_bubble)

                for bubble in all_bubble:
                    message.append(bubble)

            else:
                message.append("Anda belum mengisi jenis unit!")

            pesan = []
            pesan.append("Silahkan ketik menu berikut ini")
            pesan.append("- Ketik *tambah* untuk menambahkan Jenis Unit")
            pesan.append("- Ketik *ubah* <spasi> *no_jenis_unit* untuk mengubah Jenis Unit")
            pesan.append("- Ketik *hapus* <spasi> *no_jenis_unit* untuk menghapus Jenis Unit")
            pesan.append("")
            pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
            pesan.append("Ketik *Beranda* untuk kembali ke Menu")
            message.append(("\n").join(pesan))

        else:
            read = json.loads(save_redis.get("%s::menu" %(phone_number)))
            if 'tambah' in read["jenis_unit"]:
                message = tambah_jenis_unit(incoming_msg, phone_number)
            elif 'ubah' in read["jenis_unit"]:
                message = ubah_jenis_unit(incoming_msg, phone_number, id=None)

    return message
def unit(incoming_msg, phone_number, bot_responses):
    respon_unit = requests.post(app.config['URL'] + "/unit/all",
                                headers={
                                    "Authorization":
                                    "Bearer " + save_redis.get("%s::token" %
                                                               (phone_number))
                                })
    respon_unit = respon_unit.json()
    list_unit = respon_unit["data"]['records']
    message = []
    if "unit" in save_redis.get("%s::menu" % (phone_number)):
        # ketika user BELUM mengetikkan "tambah"/"ubah"/"hapus"
        if "tambah" in incoming_msg.lower():
            message = tambah_unit(incoming_msg, phone_number)
        elif "ubah" in incoming_msg.lower():
            no_unit = re.findall("ubah.+", incoming_msg.lower())
            no_unit = regex_num(no_unit[0])
            if int(no_unit) > len(list_unit):
                message.append(
                    "Nomor Produk yang Anda masukkan tidak tersedia!")
                message.append("")
                message.append(
                    "Silakan ketik *Unit* untuk kembali ke halaman sebelumnya")
            else:
                id_unit = respon_unit['data']['records'][int(no_unit) -
                                                         1]['id']
                message = ubah_unit(incoming_msg, phone_number, id_unit)
        elif "hapus" in incoming_msg.lower():
            save_redis.set("%s::unit" % (phone_number), "hapus")
            message = hapus_unit(incoming_msg, phone_number)

        # ketika user SUDAH mengetikkan "tambah"/"ubah"/"hapus"
        elif save_redis.get("%s::menu" % (phone_number)) == "unit":
            if respon_unit["data"]["count"] != 0:
                message_bubble = [bot_responses]
                all_bubble = []
                for index, item in enumerate(list_unit):
                    tiap_data = []
                    tiap_data.append("%s. Nama: %s" %
                                     (index + 1, item['name'].capitalize()))
                    tiap_data.append("    Produk: %s" %
                                     (item['product_name'].capitalize()))
                    tiap_data.append("    Jenis Unit: %s" %
                                     (item['unit_type_name'].capitalize()))
                    tiap_data.append("    Nama Pelanggan: %s" %
                                     (item['customer_name'].capitalize()))
                    tiap_data.append(
                        "    Periode Penyewaan: %s" %
                        (item['mapping_period_name'].capitalize()))
                    tiap_data.append("    Ukuran Unit: %s m2" % (item['size']))
                    tiap_data.append("    Alamat Unit: %s" %
                                     (item['address'].capitalize()))
                    tiap_data.append("")
                    tiap_data = ('\n').join(tiap_data)

                    if len(message_bubble[0]) + len(tiap_data) >= 1600:
                        all_bubble.append(message_bubble)
                        message_bubble = ['']

                    message_bubble.append(tiap_data)
                    message_bubble = ('\n').join(message_bubble)
                    message_bubble = [message_bubble]

                all_bubble.append(message_bubble)

                for bubble in all_bubble:
                    message.append(bubble)

            else:
                message.append("Anda belum mengisi unit!")

            pesan = []
            pesan.append("Apa yang bisa Hedwig bantu?")
            pesan.append("- Ketik *tambah* untuk menambahkan unit")
            pesan.append(
                "- Ketik *ubah* <spasi> *no_unit* untuk mengubah unit")
            pesan.append(
                "- Ketik *hapus* <spasi> *no_unit* untuk menghapus unit")
            pesan.append("")
            pesan.append(
                "Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
            pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
            message.append(("\n").join(pesan))

        else:
            read = json.loads(save_redis.get("%s::menu" % (phone_number)))
            if 'tambah' in read['unit']:
                message = tambah_unit(incoming_msg, phone_number)
            elif 'ubah' in read['unit']:
                message = ubah_unit(incoming_msg, phone_number, id=None)

    return message
def pelanggan(incoming_msg, phone_number, bot_responses):
    respon_pelanggan = requests.post(app.config['URL']+"/customer/all", headers={"Authorization": "Bearer " + save_redis.get("%s::token" %(phone_number))})
    respon_pelanggan = respon_pelanggan.json()
    list_pelanggan = respon_pelanggan["data"]['records']
    message = []
    if "pelanggan" in save_redis.get("%s::menu" %(phone_number)):
        if "tambah" in incoming_msg.lower():
            message = tambah_pelanggan(incoming_msg, phone_number)
        elif "ubah" in incoming_msg.lower():
            no_pelanggan = re.findall("ubah.+", incoming_msg.lower())
            no_pelanggan = regex_num(no_pelanggan[0])
            
            if int(no_pelanggan) > len(list_pelanggan):
                message.append("Nomor Pelanggan yang " + save_redis.get("%s::name" %(phone_number)) +" masukkan tidak tersedia!")
                message.append("")
                message.append("Ketik *Pelanggan* untuk kembali ke halaman sebelumnya")
            else:
                id_pelanggan = respon_pelanggan['data']['records'][int(no_pelanggan)-1]['id']
                message = ubah_pelanggan(incoming_msg, phone_number,id_pelanggan)
        elif "hapus" in incoming_msg.lower():
            save_redis.set("%s::menu" %(phone_number), json.dumps({"pelanggan":"hapus"}))
            message = hapus_pelanggan(incoming_msg, phone_number)

        elif save_redis.get("%s::menu" %(phone_number)) == "pelanggan":
            if respon_pelanggan["data"]["count"] != 0:
                message_bubble = [bot_responses]
                all_bubble = []
                for index, item in enumerate(list_pelanggan):
                    tiap_data = []
                    tiap_data.append("%s. Nama: %s" % (index+1, item['name']))
                    tiap_data.append("    Email: %s" %(item['email']))
                    tiap_data.append("    No Telepon: %s" % (item['phone']))
                    tiap_data.append("    KTP: %s" % (item['ktp']))
                    tiap_data.append("    Produk: %s\n" % (item['product_name']))
                    tiap_data = ('\n').join(tiap_data)

                    if len(message_bubble[0]) + len(tiap_data) < 1600:
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                    else:
                        all_bubble.append(message_bubble)
                        message_bubble = ['']
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                all_bubble.append(message_bubble)
                for bubble in all_bubble:
                    message.append(bubble)
            else:
                message.append("Anda belum mengisi Pelanggan!")

            pesan = []
            message.append("Apa yang bisa Hedwig bantu?")
            pesan.append("- Ketik *tambah* untuk menambahkan Pelanggan")
            pesan.append("- Ketik *ubah* <spasi> *no_pelanggan* untuk mengubah Pelanggan")
            pesan.append("- Ketik *hapus* <spasi> *no_pelanggan* untuk menghapus Pelanggan")
            pesan.append("")
            pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
            pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
            message.append(("\n").join(pesan))
            
            save_redis.delete("%s::nama" %(phone_number), "")
            save_redis.delete("%s::email" %(phone_number), "")
            save_redis.delete("%s::telepon" %(phone_number), "")
            save_redis.delete("%s::ktp" %(phone_number), "")
            save_redis.delete("%s::pelanggan" %(phone_number), "")

        else:
            read = json.loads(save_redis.get("%s::menu" %(phone_number)))
            if 'tambah' in read['pelanggan']:
                message = tambah_pelanggan(incoming_msg, phone_number)
            elif 'ubah' in read['pelanggan']:
                message = ubah_pelanggan(incoming_msg, phone_number,id=None)
            
    return message
Example #6
0
def tagihan(incoming_msg, phone_number, bot_responses):
    respon_produk = requests.post(
        app.config['URL'] + "/product/all",
        headers={
            "Authorization":
            "Bearer " + save_redis.get("%s::token" % (phone_number))
        })
    respon_produk = respon_produk.json()
    list_produk = respon_produk["data"]['records']
    unit = requests.post(app.config['URL'] + "/unit/all",
                         headers={
                             "Authorization":
                             "Bearer " + save_redis.get("%s::token" %
                                                        (phone_number))
                         })
    respon_unit = unit.json()
    list_unit = respon_unit['data']['records']
    message = []

    if save_redis.get("%s::menu" % (phone_number)) == "tagihan":
        if respon_produk["data"]["count"] != 0:
            message_bubble = [
                "Ini adalah daftar Produknya %s: " %
                (save_redis.get("%s::name" % (phone_number)))
            ]
            all_bubble = []
            for index, item in enumerate(list_produk):
                tiap_data = []
                tiap_data.append("%s. Nama: %s" % (index + 1, item['name']))
                tiap_data = ('\n').join(tiap_data)
                if len(message_bubble[0]) + len(tiap_data) < 1600:
                    message_bubble.append(tiap_data)
                    message_bubble = ('\n').join(message_bubble)
                    message_bubble = [message_bubble]
                else:
                    all_bubble.append(message_bubble)
                    message_bubble = ['']
                    message_bubble.append(tiap_data)
                    message_bubble = ('\n').join(message_bubble)
                    message_bubble = [message_bubble]
            all_bubble.append(message_bubble)

            for bubble in all_bubble:
                message.append(bubble)
            message.append(
                "Sekarang, ketik no produk yang ingin dibuat tagihannya")

        else:
            message.append(
                "Anda belum mengisi produk! Isi dulu yuk produknya..")

        pesan = []
        pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
        pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
        message.append(("\n").join(pesan))
        save_redis.set("%s::menu" % (phone_number),
                       json.dumps({"tagihan": "tambah"}))

    elif json.loads(save_redis.get("%s::menu" %
                                   (phone_number)))['tagihan'] == 'tambah':
        no_produk = re.findall(".+", incoming_msg)
        no_produk = regex_num(no_produk[0])
        if int(no_produk) > len(list_produk):
            message.append(
                "Nomor Produk yang Anda masukkan tidak ada! Isi lagi yuk pakai Nomor Produk yang lain.."
            )
            message.append("")
            message.append(
                "Atau Anda bisa ketik *tagihan* untuk kembali ke halaman sebelumnya"
            )
        else:
            save_redis.set("%s::id_produk" % (phone_number),
                           list_produk[int(no_produk) - 1]['id'])
            message.append("Selanjutnya, pilih nomor Unit Anda")
            jml_unit = 0
            pesan = []
            for index, unit in enumerate(list_unit):
                if list_produk[int(no_produk) - 1]['id'] == unit['product_id']:
                    pesan.append("%s. %s" % (index + 1, unit['name']))
                    jml_unit += 1
            message.append("\n".join(pesan))

            if jml_unit == 0:
                message.append("Belum ada Unit untuk Produk: %s" %
                               (list_produk[int(no_produk) - 1]['name']))
                pesan = []
                pesan.append(
                    "Anda belum mengisi unit, silakan isi unit terlebih dahulu!"
                )
                message.append("\n".join(pesan))

            save_redis.set("%s::menu" % (phone_number),
                           json.dumps({"tagihan": "tambah_dua"}))

    elif json.loads(save_redis.get("%s::menu" %
                                   (phone_number)))['tagihan'] == 'tambah_dua':
        no_unit = re.findall(".+", incoming_msg)
        no_unit = regex_num(no_unit[0])
        if int(no_unit) > len(list_unit):
            message.append(
                "Nomor Unit yang Anda masukkan tidak tersedia! Isi lagi yuk pakai Nomor Unit yang lain.."
            )
            message.append("")
            message.append(
                "Ketik *Tagihan* untuk kembali ke halaman sebelumnya")
            message.append(
                "Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
            message.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
        else:
            save_redis.set("%s::id_unit" % (phone_number),
                           list_unit[int(no_unit) - 1]['id'])
            message.append(
                "Sekarang Hedwig  tahu kapan *Mulai Waktu Tagihan*?")
            message.append("Tulisnya pakai format *(yyyy-mm-dd)* ya")

            save_redis.set("%s::menu" % (phone_number),
                           json.dumps({"tagihan": "tambah_tiga"}))

    elif json.loads(save_redis.get(
            "%s::menu" % (phone_number)))['tagihan'] == 'tambah_tiga':
        mulai_waktu = re.findall(".+", incoming_msg)
        mulai_waktu = mulai_waktu[0]
        message.append("Kalau *Selesai Waktu Tagihan* nya kapan?")
        message.append("Ini juga pakai format *(yyyy-mm-dd)* ya")
        save_redis.set("%s::mulai_waktu" % (phone_number), mulai_waktu)
        save_redis.set("%s::menu" % (phone_number),
                       json.dumps({"tagihan": "tambah_empat"}))

    elif json.loads(save_redis.get(
            "%s::menu" % (phone_number)))['tagihan'] == "tambah_empat":
        selesai_waktu = re.findall(".+", incoming_msg)
        selesai_waktu = selesai_waktu[0]
        unit_id = int(save_redis.get("%s::id_unit" % (phone_number)))
        if "aturtagihan" in app.config['URL']:
            unit_id = [unit_id]

        tambah = requests.post(
            app.config['URL'] + "/billing/generate",
            headers={
                "Authorization":
                "Bearer " + save_redis.get("%s::token" % (phone_number))
            },
            json={
                "product_id":
                int(save_redis.get("%s::id_produk" % (phone_number))),
                "periode": save_redis.get("%s::mulai_waktu" % (phone_number)),
                "unit_id": unit_id,
                "start_date":
                save_redis.get("%s::mulai_waktu" % (phone_number)),
                "end_date": selesai_waktu
            })

        resp_tambah = tambah.json()

        if tambah.status_code != 200:
            message.append(resp_tambah["message"]["body"])
            message.append(
                "Tagihan gagal dibuat! Anda harus aktivasi rekening Anda terlebih dahulu atau lengkapi informasi properti Anda!"
            )
        else:
            for indeks in range(len(resp_tambah['data'])):
                if resp_tambah['data'][indeks]['unit_id'] == int(
                        save_redis.get("%s::id_unit" % (phone_number))):
                    billing_id = resp_tambah['data'][indeks]['id']
                    print('BILLING ID', billing_id)
            link = requests.post(
                app.config['URL'] + "/canopus/user_payment/" + str(billing_id),
                headers={
                    "Authorization":
                    "Bearer " + save_redis.get("%s::token" % (phone_number))
                })
            send_wa = requests.post(
                app.config['URL'] + "/billing/send/wa",
                headers={
                    "Authorization":
                    "Bearer " + save_redis.get("%s::token" % (phone_number))
                },
                json={"billing_id": int(billing_id)})
            respon_link = link.json()
            send_wa = send_wa.json()["data"]["wa_template"]
            send_wa = send_wa.replace(" ", "%20")
            if link.status_code == 200:
                message.append("Tagihan berhasil dibuat!")
                message.append(
                    "Klik tautan di bawah ini untuk mengirim Link Tagihan ke pelanggan Anda melalui whatsapp"
                )
                message.append(send_wa)
                message.append(
                    "Atau kirim Link Tagihan berikut ini ke pelanggan Anda secara manual"
                )
                message.append(respon_link['data'])
            else:
                message.append(respon_link["message"]["body"])
                message.append(
                    "Link Tagihan gagal dibuat! Anda harus melengkapi informasi tagihan di menu *Pengaturan* dan verifikasi rekening untuk mengaktifkan pembayaran digital!"
                )

        pesan = []
        pesan.append("Ketik *Tagihan* untuk kembali ke halaman sebelumnya")
        pesan.append("Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
        pesan.append("Ketik *Beranda* untuk kembali ke halaman Beranda")
        message.append(("\n").join(pesan))
        save_redis.set("%s::menu" % (phone_number), 'tagihan')

    return message
def produk(incoming_msg, phone_number, bot_responses):
    respon_produk = requests.post(
        app.config['URL'] + "/product/all",
        headers={
            "Authorization":
            "Bearer " + save_redis.get("%s::token" % (phone_number))
        })
    respon_produk = respon_produk.json()
    list_produk = respon_produk["data"]['records']
    message = []
    if 'produk' in save_redis.get("%s::menu" % (phone_number)):
        if "tambah" in incoming_msg.lower():
            message = tambah_produk(incoming_msg, phone_number)
        elif "ubah" in incoming_msg.lower():
            no_produk = re.findall("ubah.+", incoming_msg.lower())
            no_produk = regex_num(no_produk[0])
            if int(no_produk) > len(respon_produk['data']['records']):
                message.append(
                    "Nomor Produk yang Anda masukkan tidak tersedia!")
                message.append("")
                message.append(
                    "Silakan ketik *Produk* untuk kembali ke halaman sebelumnya"
                )
            else:
                id_produk = respon_produk['data']['records'][int(no_produk) -
                                                             1]['id']
                message = ubah_produk(incoming_msg, phone_number, id_produk)

        elif "hapus" in incoming_msg.lower():
            save_redis.set("%s::produk" % (phone_number), "hapus")
            message = hapus_produk(incoming_msg, phone_number)

        elif (save_redis.get("%s::menu" % (phone_number))) == "produk":
            if respon_produk["data"]["count"] != 0:
                message_bubble = [bot_responses]
                all_bubble = []
                for index, item in enumerate(list_produk):
                    tiap_data = []
                    tiap_data.append("%s. Nama: %s" %
                                     (index + 1, item['name']))
                    tiap_data.append("    Jenis Produk: %s" %
                                     (item['product_type_name']))
                    tiap_data.append("    Alamat: %s" % (item['description']))
                    tiap_data.append(
                        "    Bank: %s %s a.n %s \n" %
                        (item['bank_name'], item['account_number'],
                         item['account_name']))
                    tiap_data = ('\n').join(tiap_data)

                    if len(message_bubble[0]) + len(tiap_data) < 1600:
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                    else:
                        all_bubble.append(message_bubble)
                        message_bubble = ['']
                        message_bubble.append(tiap_data)
                        message_bubble = ('\n').join(message_bubble)
                        message_bubble = [message_bubble]
                all_bubble.append(message_bubble)

                for bubble in all_bubble:
                    message.append(bubble)

            else:
                message.append("Anda belum mengisi produk!")

            pesan = ["Apa yang bisa Hedwig bantu?"]
            pesan.append("- Ketik *tambah* untuk menambahkan Produk")
            pesan.append(
                "- Ketik *ubah* <spasi> *no_produk* untuk mengubah Produk")
            pesan.append(
                "- Ketik *hapus* <spasi> *no_produk* untuk menghapus Produk")
            pesan.append("")
            pesan.append(
                "Ketik *Pengaturan* untuk kembali ke halaman Pengaturan")
            pesan.append("Ketik *Beranda* untuk kembali ke Menu")
            message.append(("\n").join(pesan))
        else:
            read = json.loads(save_redis.get("%s::menu" % (phone_number)))
            if 'tambah' in read["produk"]:
                message = tambah_produk(incoming_msg, phone_number)
            elif 'ubah' in read["produk"]:
                message = ubah_produk(incoming_msg, phone_number, id=None)

    return message