def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])
    kodeDosen = kelas.getKodeDosen(num)

    msgreply = ""
    try:
        nipyKaBaak = getKaBaak()
        kodeKaBaak = getKodeDosen(nipyKaBaak)

        if (kodeDosen == kodeKaBaak):
            datas = dataSumbitSKMK()
            msgreply = "*Data yang minta SKMK:*\n\n"
            if datas:
                for i, data in enumerate(datas):
                    msgreply += f"{int(i)+1}. {data[0]}\n"
            else:
                msgreply += "Tidak ada yg minta.."
        else:
            msgreply = "Haha.. lucu ya, ternyata anda bukan siapa-siapa..."
    except Exception as e:
        msgreply = f"Error {str(e)}"

    return msgreply
Example #2
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    msg = data[3].lower()
    num = numbers.normalize(data[0])
    # tahun_id = '20192'
    tahun_id = kelas.getTahunID()
    if kelas.getNpmandNameMahasiswa(num):
        npm, nama=kelas.getNpmandNameMahasiswa(num)
        try:
            if checkMhs(npm):
                if checkRevisi(npm, tahun_id):
                    msgreply = checkRevisi(npm, tahun_id)
                    msgreply += f'\n{checkSidang(npm, tahun_id)}'
                else:
                    msgreply = "Revisi dulu gih sana...."
                
            else:
                msgreply = "Kamu emg ikutan sidang? jgn ngadi-ngadi deh..."
        except Exception as e: 
            msgreply = f"Error {str(e)}"
    else:
        msgreply = f"Hayoo siapa kamu"
    
    
    
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])
    msg = message.normalize(data[3])
    npm = msg.split(' ')[-1]
    kodedosen = kelas.getKodeDosen(num)
    if npm == "all":
        msgreply = 'ok sudah di approve semua berkas KAMBING-nya sama #BOTNAME# yyyyaaa'
        sudah, siap, belum = bimbinganCekApprovalBimbingan(kodedosen)
        if siap == []:
            msgreply = 'yah datanya belum ada lagi nih yang siap untuk di approve, coba deh cek dengan cara ketik #BOTNAME# cek approval kambing'
        else:
            for j in siap:
                pembimbing_ke = pembimbingPositionAs(
                    getDataPembimbing(j, kodedosen), kodedosen)
                setSingleApprovalBimbingan(j, kodedosen, pembimbing_ke, 'true')
                nama_mahasiswa = kelas.getStudentNameOnly(j)
                msgreply += f'\n\nNPM: {j}\nNama: {nama_mahasiswa}'
    else:
        data = getDataPembimbing(npm, kodedosen)
        if data == None:
            msgreply = f'npm {npm} tidak ditemukan didata bimbingan Bapak/Ibu dosen'
        else:
            pembimbing_ke = pembimbingPositionAs(data, kodedosen)
            setSingleApprovalBimbingan(npm, kodedosen, pembimbing_ke, 'true')
            nama_mahasiswa = kelas.getStudentNameOnly(npm)
            msgreply = 'oke sudah #BOTNAME# approve untuk KAMBING'
            msgreply += f'\n\nNPM: {npm}\nNama: {nama_mahasiswa}'
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    data=getDataDosen(data[0])
    msgreply='Ini data yang Bapak/Ibu dosen minta ya:\n\nKode Dosen: {dosenid}\nNama: {namadosen}\nHandphone: {nohp}\nE-Mail: {email}'.format(dosenid=data[0], namadosen=data[1], nohp=data[2], email=data[3])
    return msgreply
Example #5
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    studentid = kelas.getNpmandNameMahasiswa(data[0])[0]
    databimbingan = bimbingan_dosen.getDataBimbingan(studentid)
    if databimbingan == ():
        msgreply = 'mohon maaf data tidak dapat ditemukan...'
    else:
        msgreply = 'ini yaaa data bimbingannya ....'
        for i in databimbingan:
            nama = kelas.getStudentNameOnly(studentid)
            topik = i[3].split(';')
            target_selesai = topik[0]
            target_selanjutnya = topik[1]
            datalog = i[7]
            datalog = datalog.split(';')
            namadosen = kelas.getNamaDosen(i[5])
            msgreply += '\n\nNama: {nama}\nNPM: {studentid}\nTipe: {tipe}\nPertemuan: {pertemuanke}\nSudah Dikerjakan: {targetselesai}\nPekerjaan Selanjutnya: {targetselanjutnya}\nNilai: {nilai}\nPenilai: {penilai} / {namadosen}\nJumlah Percakapan: {log}'.format(
                nama=nama,
                studentid=i[0],
                tipe=i[1],
                pertemuanke=i[2],
                targetselesai=target_selesai,
                targetselanjutnya=target_selanjutnya,
                nilai=i[4],
                penilai=i[5],
                log=str(len(datalog)),
                namadosen=namadosen)
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])
    kodeDosen = kelas.getKodeDosen(num)    
    msgreply = ""
    try:
        nipyKaBaak = getKaBaak()
        kodeKaBaak = getKodeDosen(nipyKaBaak)
        
        if(kodeDosen == kodeKaBaak):
            datas = dataSumbitSKMK()
            if datas:
                for npm in datas:
                    approveSKMK(npm[0], kodeDosen)
                    
                msgreply = "Sudah di approve semua yg ada di list.."
            else:
                msgreply = "Gak ada yg di approve.., karena gak ada datanya.."
        else:
            msgreply = "Haha.. lucu ya, ternyata anda bukan siapa-siapa untuknya ya..."
    except Exception as e: 
        msgreply = f"Error {str(e)}"
    
    return msgreply
def kelasSelesai(driver, data):
    if kelas.cekSiap():
        grp = data[1]
        num = data[0]
        if kelas_mulai.isJadwalID(kelas.getKodeDosen(num), grp.split('-')[0]):
            msg = data[3]
            msg = message.normalize(msg)
            if 'luring' in msg:
                tipe = 'luring'
            else:
                tipe = 'daring'
            try:
                kehadiran = kelas.getKehadiran(grp.split('-')[0])
                rencana_kehadiran = kelas.rencana_kehadiran(grp.split('-')[0])
                if (kehadiran != rencana_kehadiran and
                        kehadiran < rencana_kehadiran) or (kelas.isSudahKelas(
                            jadwalid=grp.split('-')[0],
                            lecturercode=kelas.getKodeDosen(num=num))):
                    wmsg = reply.getWaitingMessage(
                        os.path.basename(__file__).split('.')[0])
                    wa.typeAndSendMessage(driver, wmsg)
                    materi = msg.lower()
                    try:
                        materi = materi.split(' materi ')[1]
                    except:
                        return f'yahhh materinya ngga ada nih tambahin dong materinyaaa.....,\ncontoh: iteung kelas daring selesai materi chapter 1'
                    msgreply = kelas.siapabsensiwithsql(
                        grp=grp,
                        num=numbers.normalize(num),
                        materi=materi,
                        tipe=tipe)
                    if msgreply != '':
                        if msgreply != []:
                            try:
                                msgreply = kelas.beritaAcara(driver=driver,
                                                             num=num,
                                                             groupname=grp,
                                                             data=msgreply,
                                                             msg=msg)
                            except:
                                msgreply = 'aduh materinya ga ada nich, \ncontoh format yang bener gini ya: \niteung kelas daring selesai materi chapter 04'
                        else:
                            msgreply = 'aduh mahasiswanya belum ada yang update nomer hp SIAP nich, \nKalo mau ke absen cocokin dulu dong nomer hp yang ada di SIAP dengan yang kamu pakai di WhatsApp \nIngat ya gunakan format international, contoh: 6282217401448 '
                    else:
                        msgreply = "adohhhh wadohdoh peserta absensinya kosong nih, coba ganti ke jadwal id yang satunya lagi eheeeee.... :-3"
                elif kehadiran == '':
                    msgreply = 'yahhhhh kehadirannya ngga #BOTNAME# temuin coba di cek lagi jadwal idnya yaaa....'
                else:
                    msgreply = 'Mohon maaf Untuk kuliah daring ini sudah memenuhi kuota pertemuan pada jadwal kali ini...'
            except:
                listMK = kelas.getListMK(kelas.getKodeDosen(data[0]))
                guide = 'yahh....nama groupnya jangan diubah dong. hihihi ganti lagi ya.jadi JADWALID-KELAS-NAMAMK,contoh : 17312-A-KECERDASAN BUATAN : \n'
                msgreply = guide + listMK
        else:
            listMK = kelas.getListMK(kelas.getKodeDosen(data[0]))
            guide = 'aduwww waduwduwwww ini bukan Jadwal ID Bapak/Ibu dosen nihhhh, yang bener yang dibawah ini yaaa.... : \n'
            msgreply = guide + listMK
    else:
        msgreply = 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])
    kodeDosen = kelas.getKodeDosen(num)
    # tahun_id = '20192'
    tahun_id = kelas.getTahunID()
    try:
        npm = [
            npm for npm in data[3].split(' ')
            if npm.isdigit() and len(npm) == 7
        ][0]
        msg = data[3].split(" id ", 1)[1]
        id = [id for id in msg.split(' ') if npm.isdigit()][0]
        revisi = msg.lstrip(id).strip()
        print(npm, revisi, id)
        if checkRevisi(npm, kodeDosen, id, tahun_id):
            revisiSidang(npm, kodeDosen, revisi, tahun_id, id)
            msgreply = "Sudah update...\n\n" + listRevisi(
                npm, kodeDosen, tahun_id)
        else:
            msgreply = "Salah id ato gak ada akses"
    except Exception as e:
        msgreply = f"Error {str(e)}"

    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])
    kodeDosen = kelas.getKodeDosen(num)
    # tahun_id = '20192'
    tahun_id = kelas.getTahunID()
    try:
        npm = [
            npm for npm in data[3].split(' ')
            if npm.isdigit() and len(npm) == 7
        ][0]
        if checkMhs(npm, kodeDosen):
            approveRevisiSidang(npm, kodeDosen, tahun_id)
            msgreply = f"Dah diapprove ya {npm} oleh {kodeDosen}"
            if checkRevisiStatus(npm, tahun_id):
                kategori = getKategoriSidang(npm, tahun_id)
                makeBeritaAcara(npm, tahun_id, kategori)
            else:
                pass
                print("Belum boleh boy")
        else:
            msgreply = f"Anda bukan penguji {npm}"

    except Exception as e:
        msgreply = f"Error {str(e)}"

    return msgreply
Example #10
0
def replymsg(driver, data):
    if kelas.cekSiap():
        kodedosen = kelas.getKodeDosen(data[0])
        wmsg = reply.getWaitingMessage(
            os.path.basename(__file__).split('.')[0])
        wmsg = wmsg.replace('#EMAIL#', kelas.getEmailDosen(kodedosen))
        wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
        wa.typeAndSendMessage(driver, wmsg)
        msg = data[3].lower()

        try:
            data = f"{kelas.getEmailDosen(kodedosen)};{[npm for npm in msg.split(' ') if npm.isdigit() and len(npm) == 7][0]}"
            subprocess.Popen([
                "python", "run.py",
                os.path.basename(__file__).split('.')[0], data
            ],
                             cwd=config.cwd)
        except Exception as e:
            wa.typeAndSendMessage(
                driver, 'Mimpam zuzuzu.. anda salah keyword...' + str(e))

    else:
        wa.typeAndSendMessage(
            driver,
            'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
        )
    return ''
Example #11
0
def replymsg(driver, data):
    if kelas.cekSiap():
        wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
        wa.typeAndSendMessage(driver, wmsg)
        num = data[0]
        studentid=kelas.getStudentIdFromParentPhoneNumber(num)
        msgreply=''
        for student in studentid:
            npmmahasiswa=student[0]
            scores=kelas.getStudentScores(studentid=npmmahasiswa)
            studentname=scores[0][1]
            npm='NPM: '+npmmahasiswa+'\n'
            nama='Nama: '+studentname+'\n'
            jadwalid=[]
            score='\n=====NILAI=====\n'
            for v in scores:
                jadwalid.append(v[-3])
                score=score+v[-2]+': '+v[-1]+'\n'
            absent='\n=====ABSENSI=====\n'
            for v in jadwalid:
                absent=absent+kelas.getDataMatkul(v)[1]+': '+str(round(int(kelas.getKehadiranMahasiswa(jadwalid=v, studentid=npmmahasiswa)/config.kehadiran*100)))+'%\n'
            msgreply+=npm+nama+score+absent+'\n\n'
    else:
        msgreply='Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
    return msgreply
def replymsg(driver, data):
    if kelas.cekSiap():
        wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
        wa.typeAndSendMessage(driver, wmsg)
        msgreply=message(data)
    else:
        msgreply='Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
    return msgreply
def replymsg(driver, data):
    num = data[0]
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    makeQrcode(num)
    uploadFile(driver)
    removeFile()
    return ''
Example #14
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    startdate=datetime.date(bimbingan_dosen.getStartDate(data[0]))
    pertemuan=bimbingan_dosen.countPertemuan(startdate)
    prodi=getHomebase(data[0])
    msgreply='ini yaa info pertemuannya:\n\nProdi: {prodi}\nJadwal Mulai Pertemuan: {startdate}\nPertemuan: {pertemuanke}'.format(prodi=prodi, startdate=startdate, pertemuanke=pertemuan[0])
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    msg = data[3].lower()
    num = numbers.normalize(data[0])
    # tahun_id = '20192'
    tahun_id = kelas.getTahunID()
    if kelas.getKodeDosen(num):
        kodeDosen = kelas.getKodeDosen(num)
        try:
            npm = [
                npm for npm in msg.split(' ')
                if npm.isdigit() and len(npm) == 7
            ][0]
        except:
            npm = None

        if npm:
            try:
                if checkMhs(npm):
                    if checkRevisi(npm, tahun_id):
                        msgreply = "Ini revisian dari Anda cuy..." + checkRevisi(
                            npm, tahun_id)
                    else:
                        msgreply = "Emg udh masukin revisi???"
                else:
                    msgreply = "Salah mahasiswa ato npm mungkin..."
            except Exception as e:
                msgreply = f"Error {str(e)}"
        else:
            try:
                if checkRevisiPenguji(tahun_id, kodeDosen):
                    msgreply = "Ini revisian dari anda cuy..." + checkRevisiPenguji(
                        tahun_id, kodeDosen)
                else:
                    msgreply = "Emg udh masukin revisi???"
            except Exception as e:
                msgreply = f"Error {str(e)}"

    elif kelas.getNpmandNameMahasiswa(num):
        npm, nama = kelas.getNpmandNameMahasiswa(num)
        try:
            if checkMhs(npm):
                if checkRevisi(npm, tahun_id):
                    msgreply = "Selamat revisian cuy..., semangat <3<3" + checkRevisi(
                        npm, tahun_id)
                else:
                    msgreply = "Kamu emg udh sidang? jgn ngadi-ngadi deh..., mungkin aja blm dibikin revisinya sama penguji bersangkutan..., semangat <3<3"
            else:
                msgreply = "Kamu emg ikutan sidang? jgn ngadi-ngadi deh..."
        except Exception as e:
            msgreply = f"Error {str(e)}"
    else:
        msgreply = f"Hayoo siapa kamu"

    return msgreply
Example #16
0
def replymsg(driver, data):
    if kelas.cekSiap():
        wmsg = reply.getWaitingMessage(
            os.path.basename(__file__).split('.')[0])
        wa.typeAndSendMessage(driver, wmsg)
        num = data[0]
        num = numbers.normalize(num)
        msg = data[3]
        data = msg.split(' ')
        # error ketika uas
        try:
            if 'matkul' in data and 'jadwal' not in data:
                matkul = data[data.index('matkul') + 1] if any(
                    char.isdigit()
                    for char in data[data.index('matkul') + 1]) else False
                kelass = data[data.index('kelas') +
                              1].upper() if len(data[data.index('kelas') +
                                                     1]) < 2 else False

                if matkul and kelass:
                    datas = {
                        'tahun': kelas.getTahunID(),
                        'kode_matkul': matkul,
                        'kelas': convertKelas(kelass),
                        'jadwal': 0
                    }

                    msgreply = mainCekNilai(num, datas)

                    msgreply = "Ini nilai ujian yang Bapak/Ibu minta\n\n" + msgreply
                else:
                    msgreply = 'Salah keyword beb...................'
            elif 'jadwal' in data and 'matkul' not in data:
                jadwal = data[data.index('jadwal') + 1] if all(
                    char.isdigit()
                    for char in data[data.index('jadwal') + 1]) else False
                if jadwal:
                    datas = {
                        'tahun': kelas.getTahunID(),
                        'kode_matkul': 0,
                        'kelas': 0,
                        'jadwal': jadwal
                    }

                    msgreply = mainCekNilai(num, datas)

                    msgreply = "Ini nilai ujian yang Bapak/Ibu minta\n\n" + msgreply
                else:
                    msgreply = 'Salah keyword beb...............................'
            else:
                msgreply = 'Salah keyword beb......'
        except:
            msgreply = 'Salah keyword beb....., atau salah masukin jadwal uas atau uts'
    else:
        msgreply = 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
    return msgreply
Example #17
0
def replymsg(driver, data):
    kodedosen = kelas.getKodeDosen(data[0])
    num = numbers.normalize(data[0])
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#EMAIL#', siap_jadwal.getEmailDosen(kodedosen))
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    subprocess.Popen(
        ["python", "run.py",
         os.path.basename(__file__).split('.')[0], num],
        cwd=config.cwd)
    return wmsg
Example #18
0
def replymsg(driver, data):
    num = numbers.normalize(data[0])
    msg = message.normalize(data[3])
    data = f'{num};{msg}'
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    subprocess.Popen(
        ["python", "run.py",
         os.path.basename(__file__).split('.')[0], data],
        cwd=config.cwd)
    return wmsg
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    loginid = getLoginID(num=data[0])
    newpasswd = passwdGenerate()
    if loginid is not None:
        updatePassword(password=newpasswd, id=loginid)
        msgreply = 'sip sudah #BOTNAME# ganti ini ya *username* sama *password* yang terbaru:\n\nUsername: {id}\nPassword: {passwd}\n\nOke sudah yaaaa, mohon untuk segera diganti ya passwordnya, dadahhh... <3<3'.format(
            id=loginid, passwd=newpasswd)
    else:
        msgreply = 'aduh #BOTNAME# ga bisa nemuin datanya euyyyy, coba cek nomernya di siap udah sama belum sama di whatsapp, kalo udah diulangi lagi yaa...'
    return msgreply
Example #20
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    prodiid = getDataForKaprodi(data[0])
    datestring = data[3].split(' ')[-1]
    day = int(datestring.split('-')[0])
    month = int(datestring.split('-')[1])
    year = int(datestring.split('-')[2])
    date = datetime.date(datetime(year, month, day))
    updateDateBimbingan(prodiid, date)
    msgreply = 'sudah di update cuyyyyy'
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    msg = message.normalize(data[3])
    tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(msg)
    if tipe_bimbingan:
        startdate = datetime.date(
            bimbingan_dosen.getStartDate(data[0], tipe_bimbingan))
        pertemuan = bimbingan_dosen.countPertemuan(startdate)
        prodi = getHomebase(data[0])
        return 'ini yaa info pertemuannya:\n\nProdi: {prodi}\nJadwal Mulai Pertemuan: {startdate}\nPertemuan: {pertemuanke}'.format(
            prodi=prodi, startdate=startdate, pertemuanke=pertemuan[0])
    else:
        return 'aduhhh mana nihhh kok ngilang tipe bimbingannya ....'
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = numbers.normalize(data[0])

    kodeDosen = kelas.getKodeDosen(num)
    print(kodeDosen)
    msgreply = ""
    try:
        npm = [
            npm for npm in data[3].split(' ')
            if npm.isdigit() and len(npm) == 7
        ][0]
        prodiMhs, namaMhs = getMahasiswa(npm)
        nipyKaprodi, namaDosen = getKaprodi(prodiMhs)
        kodeKaprodi = getKodeDosen(nipyKaprodi)
        nipyWadirI, namaWadirI = getWadirI()
        kodeWadirI = getKodeDosen(nipyWadirI)
        if (kodeDosen == kodeWadirI):
            approveSKL(npm, "wadirI", kodeDosen)
            msgreply = f"{namaWadirI} sebagai wadir I telah mengapprove SKL milik {npm} - {namaMhs}"
        elif (kodeDosen == kodeKaprodi):
            approveSKL(npm, "kaprodi", kodeDosen)
            msgreply = f"{namaDosen} sebagai kaprodinya telah mengapprove SKL {npm}-{namaMhs}"
        else:
            msgreply = "Anda bukan siapa-siapa untuknya.."
    except IndexError:
        prodi = getProdiDosen(kodeDosen)
        nipyKaprodi, namaDosen = getKaprodi(prodi)
        kodeKaprodi = getKodeDosen(nipyKaprodi)
        nipyWadirI, namaWadirI = getWadirI()
        kodeWadirI = getKodeDosen(nipyWadirI)

        if (kodeDosen == kodeWadirI):
            approveAllSKL("wadirI", kodeDosen)
            msgreply = f"Udh di approve semua yaa"
        elif (kodeDosen == kodeKaprodi):
            approveAllSKL("kaprodi", kodeDosen, prodi)
            msgreply = f"Dah di approve semua yoo"
        else:
            msgreply = "Anda bukan siapa-siapa untuknya.."

    except Exception as e:
        msgreply = f"Error {str(e)}"

    return msgreply
Example #23
0
def replymsg(driver, data):
    msgreply = ""    
    if kelas.cekSiap():    
        num = numbers.normalize(data[0])        
        try:
            if getMahasiswa(num):
                npm, prodi, email = getMahasiswa(num)
                
                prodis = convertProdi(prodi)
                if checkSKPIProdiFile(prodis[0]):
                    dfStatus = pd.read_excel(f"./skpi/list-skpi/list-wisudawan.xlsx")
                    # print(dfStatus)
                    status = dfStatus.loc[dfStatus["NPM"] == int(npm)].values.tolist()[0]
                    # print(status)
                    # print(status[2] != '-', status[3] != '-')
                    if status[2] != '-' and status[3] != '-' and status[4] != '-':
                        data = f"{'mahasiswa'};{npm};{email};{prodi}"
                        # print(data)
                        subprocess.Popen(["python", "run.py", os.path.basename(__file__).split('.')[0],data], cwd=config.cwd)
                        msgreply = ""
                        wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
                        wmsg = wmsg.replace('#EMAIL#', email)
                        wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
                        wa .typeAndSendMessage(driver, wmsg)
                    else:
                        submitSKL(npm)
                        msgreply = "Permohonan *Surat Keterangan Lulus* Anda telah diajukan, harap lakukan konfirmasi"
                        if status[2] == '-':
                            msgreply += " ke staff *Kaprodi* masing-masing"
                        if status[3] == '-':
                            msgreply += " sama staff *Wadir 1* (Bu Tetty)"
                        msgreply += ", setelah dikonfirmasi tinggal menunggu saja, lalu Anda bisa memintanya lagi ke saya..."
                else:   
                    msgreply = "Belum ada nih list data SKLnya..."
                    
                
            else:
                msgreply = f"Ikan teri pake saos.. anda siapa bos..\nSebenarnya ada beberapa kemungkinan, pertama kamu bukan mahasiswa yg udh wisuda.. Mungkin no hp di SIAP salah kali... apalagi ya.. kyknya itu aja.."
            
        except Exception as e:
            msgreply = f'Ikan hiu makan tomat.. ada error mat... {str(e)}'
        
    else:
        wa.typeAndSendMessage(driver, 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....')
    return msgreply
Example #24
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num = data[0]
    jadwal_id_msg = message.normalize(data[3]).split(' ')[-1]
    dosenid = kelas.getKodeDosen(num=num)
    jadwalID = getJadwalIDfromDosenID(dosenid=dosenid)
    if jadwal_id_msg == 'all':
        msg = allJadwalIDDosen(jadwalID)
        msgreply = msg
    else:
        data = []
        datafix = []
        data.append(jadwal_id_msg)
        data.append(kelas.getMkDetails(jadwal_id_msg)[2])
        datafix.append(data)
        msg = allJadwalIDDosen(datafix)
        msgreply = msg
    return msgreply
Example #25
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    try:
        filename = downloadFile(driver)
        moveFiles(filename)
        folder = makeDirectory()
        try:
            extractFiles(namafile=filename, folder=folder)
            try:
                gotoEhaki(driver)
                loginEhaki(driver)
                gotoResigterHaki(driver)
                closeBanner(driver)
                datacsv = dataFromCSV(folder=folder)
                detailForm(driver=driver, data=datacsv)
                dataPenciptaForm(driver=driver, data=datacsv)
                dataPemegangHakCipta(driver=driver)
                uploadFileHaki(driver=driver, folder=folder)
                setujuHaki(driver)
                billingcode, biaya = billingCodeHaki(driver)
                gotoAptimas(driver)
                loginAptimas(driver)
                gotoRegisterAptimas(driver)
                APTimas(driver=driver, data=datacsv, folder=folder)
                driver.close()
                driver.switch_to_window(driver.window_handles[0])
                removeFileandDir(filename=filename, path='.\\' + folder)
                msgreply = "Billing Code: " + str(
                    billingcode) + '\nBiaya: ' + str(biaya)
            except Exception as e:
                driver.close()
                driver.switch_to_window(driver.window_handles[0])
                removeFileandDir(filename=filename, path='.\\' + folder)
                msgreply = 'Proses Pembuatan Haki Error Mohon diulangi, Error: _#ERROR#_'
                msgreply = msgreply.replace('#ERROR#', str(e))
        except:
            msgreply = 'filenya harus .rar atau zip'
            removeFileandDir(filename=filename, path='.\\' + folder)
    except:
        msgreply = 'ga ada filenya....'
    return msgreply
def replymsg(driver, data):
    if kelas.cekSiap():
        wmsg = reply.getWaitingMessage(
            os.path.basename(__file__).split('.')[0])
        wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
        wa.typeAndSendMessage(driver, wmsg)
        msg = data[3]
        msg = normalizeday(msg)
        num = data[0]
        day = dataHari(msg)
        if day != '':
            hariId = kodeHari(day)
            msgreply = jadwalKuliah(hariId, num)
            msgreply = "Ini ya jadwal kuliah yang bapak/ibu minta \n" + msgreply
        else:
            listMK = kelas.getListMK(kelas.getKodeDosen(data[0]))
            msgreply = "Ini ya jadwal kuliah yang bapak/ibu minta \n" + listMK
    else:
        msgreply = 'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
    return msgreply
Example #27
0
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wmsg = wmsg.replace("#BOTNAME#", config.bot_name)
    wa.typeAndSendMessage(driver, wmsg)
    msg = data[3]
    passcode = msg.split(' ')[-1]
    try:
        obj = AES.new(config.key.encode("utf8"), AES.MODE_CBC,
                      config.iv.encode("utf8"))
        dec = bytes.fromhex(passcode)
        resultpasscode, status = obj.decrypt(dec).decode('utf-8'), True
    except:
        resultpasscode, status = '', False
    if status:
        modulename = resultpasscode.split(';')[0]
        mod = import_module('module.' + modulename)
        msgreply = mod.verifyDigitalSign(resultpasscode)
    else:
        msgreply = f'waduh akang/teteh kayaknya #BOTNAME# ga bisa mengenali passcode yang *{passcode}* deh, coba di periksa lagi yaa, dan jangan diubah passcodenya'
    return msgreply
Example #28
0
def replymsg(driver, data):
    msgreply = ""
    if kelas.cekSiap():
        num = numbers.normalize(data[0])
        try:
            if kelas.getNpmandNameMahasiswa(num):
                npm, nama = kelas.getNpmandNameMahasiswa(num)
                # print(npm, nama)
                tahunID = kelas.getTahunID()
                namaMhs, prodiMhs, singkatan, prodiID, email = getMahasiswaByNpm(
                    npm)
                # print(namaMhs, prodiMhs, singkatan, prodiID, email)
                noSurat = insertMhs(npm, prodiID, tahunID)
                # print(noSurat)
                if checkApproveMhs(npm, prodiID, tahunID):
                    data = f"{npm};{singkatan};{noSurat}"
                    subprocess.Popen([
                        "python", "run.py",
                        os.path.basename(__file__).split('.')[0], data
                    ],
                                     cwd=config.cwd)
                    wmsg = reply.getWaitingMessage(
                        os.path.basename(__file__).split('.')[0])
                    wmsg = wmsg.replace('#EMAIL#', email)
                    wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
                    wa.typeAndSendMessage(driver, wmsg)
                else:
                    msgreply = "SKMK anda telah diajukan, silahkan hubungi Ka. Baak untuk minta approve SKMK yang telah diajukan"
            else:
                msgreply = f"Ikan teri pake saos.. anda siapa bos..\nSebenarnya ada beberapa kemungkinan, pertama kamu bukan mahasiswa yg udh wisuda.. Mungkin no hp di SIAP salah kali... apalagi ya.. kyknya itu aja.."

        except Exception as e:
            msgreply = f'Ikan hiu makan tomat.. ada error mat... {str(e)}'

    else:
        # pass
        wa.typeAndSendMessage(
            driver,
            'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu'
        )
    return msgreply
def replymsg(driver, data):
    wmsg = reply.getWaitingMessage(os.path.basename(__file__).split('.')[0])
    wa.typeAndSendMessage(driver, wmsg)
    num=data[0]
    msg=data[3]
    msg=message.normalize(msg)
    npm=[]
    kodedosen=kelas.getKodeDosen(num)
    tipe_bimbingan=cekTipeBimbingan(msg)
    if tipe_bimbingan:
        for i in getMahasiswaBimbingan(kelas.getTahunID(), tipe_bimbingan):
            if i[1]==kodedosen or i[2]==kodedosen:
                npm.append(i[0])
        try:
            datefromdatabasehomebase=bimbingan_dosen.getStartDate(num, tipe_bimbingan)
            startdate = datetime.date(datefromdatabasehomebase)
            if 'pertemuan' in msg:
                pertemuan=msg.split(' pertemuan ')[1]
            else:
                pertemuan, datemulai, dateakhir=bimbingan_dosen.countPertemuan(startdate)
            try:
                pertemuan=int(pertemuan)
                msgreply=f'Nama Dosen: {kelas.getNamaDosen(kodedosen)}\n' \
                         f'Prodi: {pertemuan_bimbingan.getHomebase(num)}\n' \
                         f'Pertemuan: {pertemuan}\n\n' \
                         f'NPM | Nama | Status Bimbingan\n\n'
                for i in npm:
                    cek=cek_bimbingan(i, kodedosen, pertemuan, tipe_bimbingan)
                    namamahasiswa=kelas.getStudentNameOnly(i)
                    if cek == None:
                        msgreply+=f'*{i}* | {namamahasiswa} | *_BELUM BIMBINGAN_*\n'
                    else:
                        msgreply+=f'*{i}* | {namamahasiswa} | *_SUDAH BIMBINGAN_*\n'
            except Exception as e:
                msgreply=f'wahhh salah di pertemuan nih bosqqqqqqqqqqqq coba pertemuannya make angka yak jangan make hurup....'
        except:
            msgreply='ihhhhh belum diset nih tanggal awal bimbingannya coba deh Bapak/Ibu dosen komunikasi ya sama KAPRODI untuk set tanggal mulai bimbingannnya, tutorial bisa dibaca di panduan iteung yaaa yang bagian *kaprodi* hatur tengkyuuu....'
    else:
        msgreply='eh eh eh mana nihhh tipe bimbingannya harus dimasukin ke keyword yaaaa tipe bimbingannya cek di panduan mahasiswa bimbingan yaaa...'
    return msgreply
Example #30
0
def replymsg(driver, data):
    if kelas.cekSiap():
        kodedosen = kelas.getKodeDosen(data[0])
        wmsg = reply.getWaitingMessage(
            os.path.basename(__file__).split('.')[0])
        wmsg = wmsg.replace('#EMAIL#', getEmailDosen(kodedosen))
        wmsg = wmsg.replace('#BOTNAME#', config.bot_name)
        wa.typeAndSendMessage(driver, wmsg)
        num = data[0]
        num = numbers.normalize(num)

        subprocess.Popen([
            "python", "run.py",
            os.path.basename(__file__).split('.')[0], num
        ],
                         cwd=config.cwd)
    else:
        wa.typeAndSendMessage(
            driver,
            'Mohon maaf server Akademik SIAP sedang dalam kondisi DOWN, mohon untuk menginformasikan ke ADMIN dan tunggu hingga beberapa menit kemudian, lalu ulangi kembali, terima kasih....'
        )
    return ''