def replymsg(driver, data): ssl._create_default_https_context = ssl._create_unverified_context num = numbers.normalize(data[0]) tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(data[3]) main(num, tipe_bimbingan) bkd.mail( kelas.getEmailDosen(kelas.getKodeDosen(num)), f'yooo watsapppp mennnnn {config.bot_name} kirim file BERITA ACARA PITAK nihhhh', f'cek cek dulu ya filenya.....', bkd.getFilePath(kelas.getEmailDosen(kelas.getKodeDosen(num)), 'beritaacarapitak', kelas.getTahunID())) msgreply = f"Sampun yo.. coba cek emailnyaa yaaa yang {kelas.getEmailDosen(kelas.getKodeDosen(num))}" 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]) # wmsg = wmsg.replace('#BOTNAME#', config.bot_name) # wa.typeAndSendMessage(driver, wmsg) tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(data[3]) if tipe_bimbingan: nipy, 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, tipe_bimbingan) msgreply = 'sudah di update cuyyyyy' else: msgreply = f'mana niwhhhh tipe bimbingannya {config.bot_name} ga nemuin nih dimana tipe bimbingannya' return msgreply
def replymsg(driver, data): ssl._create_default_https_context = ssl._create_unverified_context num = numbers.normalize(data[0]) studentid,studentname=kelas.getNpmandNameMahasiswa(num) tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(data[3]) statusapprovalkambing = cekApprovalKambingAtBeginning(studentid, tipe_bimbingan) if tipe_bimbingan: if statusapprovalkambing is not None: if tipe_bimbingan == 'ta': if 'false' in statusapprovalkambing or '' in statusapprovalkambing: msgreply = 'wiwiwiwiwi KAMBING kamu belum di approve nih sama Bapak/Ibu dosen yang ini nih:' if 'false' == statusapprovalkambing[0] or '' == statusapprovalkambing[0]: kodedosen1 = getKodeDosenBimbingan(studentid)[0] namadosen = kelas.getNamaDosen(kodedosen1) msgreply += f'\n{kodedosen1} | {namadosen} | PEMBIMBING 1' if 'false' == statusapprovalkambing[1] or '' == statusapprovalkambing[1]: kodedosen1 = getKodeDosenBimbingan(studentid)[1] namadosen = kelas.getNamaDosen(kodedosen1) msgreply += f'\n{kodedosen1} | {namadosen} | PEMBIMBING 2' else: KODE_DOSEN_BIMBINGAN = getKodeDosenBimbingan(studentid) status_nilai1, nilai_total1 = totalNilai(studentid, config.MINIMUM_PERTEMUAN_BIMBINGAN, KODE_DOSEN_BIMBINGAN[0]) status_nilai2, nilai_total2 = totalNilai(studentid, config.MINIMUM_PERTEMUAN_BIMBINGAN, KODE_DOSEN_BIMBINGAN[1]) if status_nilai1 and status_nilai2: JUDUL_BIMBINGAN = getJudulBimbingan(studentid, kelas.getTahunID()) KODE_DOSEN_BIMBINGAN = getKodeDosenBimbingan(studentid) if KODE_DOSEN_BIMBINGAN is None: msgreply = f'data dengan npm {studentid} tidak ditemukan' else: for KODE_DOSEN in KODE_DOSEN_BIMBINGAN: NAMA_DOSEN = kelas.getNamaDosen(KODE_DOSEN) NIDN_DOSEN = getNIDNDosen(KODE_DOSEN) TAHUN_AJARAN = kelas.getTahunAjaran(kelas.getProdiIDwithStudentID(studentid)).split(' ')[-1] photo = berita_acara_pitak.cekPhotoRoute(studentid) makePdf( npm_mahasiswa=studentid, nama_mahasiswa=studentname, tipe_bimbingan=tipe_bimbingan, nama_pembimbing=NAMA_DOSEN, kode_dosen_pembimbing=KODE_DOSEN, nidn_pembimbing=NIDN_DOSEN, tahun_ajaran=TAHUN_AJARAN, photo=photo, judul=JUDUL_BIMBINGAN, total_nilai=totalNilai(studentid, config.MINIMUM_PERTEMUAN_BIMBINGAN, KODE_DOSEN)[1] ) bkd.mail(kelas.getDataMahasiswa(studentid)[3], f'eyyowwwwwww {config.bot_name} nihhhh mau nganter file yang kamu mintaaa', f'ini ya file KAMBING (Kartu Bimbingan) yang Akang/Teteh minta silahkan di cek... ehee....', bkd.getFilePath(kelas.getDataMahasiswa(studentid)[3], 'kambing', switcherTipeBimbingan(tipe_bimbingan))) msgreply = f"sudah selesai dan sudah dikirim ke email kamu yang {kelas.getDataMahasiswa(studentid)[3]} yaa...." else: msgreply = f'mohon maaf belum bisa cetak kartu bimbingan dikarenakan pertemuan masih ada yang kurang' if status_nilai1 == False: msgreply += f'\n{KODE_DOSEN_BIMBINGAN[0]} | {kelas.getNamaDosen(KODE_DOSEN_BIMBINGAN[0])}' if status_nilai2 == False: msgreply += f'\n{KODE_DOSEN_BIMBINGAN[1]} | {kelas.getNamaDosen(KODE_DOSEN_BIMBINGAN[1])}' else: if statusapprovalkambing[0] == 'false' or statusapprovalkambing[0] == '': msgreply = 'wiwiwiwiwi KAMBING kamu belum di approve nih sama Bapak/Ibu dosen yang ini nih:' kodedosen1 = getKodeDosenBimbingan(studentid)[0] namadosen = kelas.getNamaDosen(kodedosen1) msgreply += f'\n{kodedosen1} | {namadosen} | PEMBIMBING 1' else: KODE_DOSEN_BIMBINGAN = getKodeDosenBimbingan(studentid) status_nilai1, nilai_total1 = totalNilai(studentid, config.MINIMUM_PERTEMUAN_BIMBINGAN, KODE_DOSEN_BIMBINGAN[0]) if status_nilai1: JUDUL_BIMBINGAN = getJudulBimbingan(studentid, kelas.getTahunID()) KODE_DOSEN_BIMBINGAN = getKodeDosenBimbingan(studentid) if KODE_DOSEN_BIMBINGAN is None: msgreply = f'data dengan npm {studentid} tidak ditemukan' else: KODE_DOSEN = KODE_DOSEN_BIMBINGAN[0] NAMA_DOSEN = kelas.getNamaDosen(KODE_DOSEN) NIDN_DOSEN = getNIDNDosen(KODE_DOSEN) TAHUN_AJARAN = kelas.getTahunAjaran(kelas.getProdiIDwithStudentID(studentid)).split(' ')[-1] photo = berita_acara_pitak.cekPhotoRoute(studentid) makePdf( npm_mahasiswa=studentid, nama_mahasiswa=studentname, tipe_bimbingan=tipe_bimbingan, nama_pembimbing=NAMA_DOSEN, kode_dosen_pembimbing=KODE_DOSEN, nidn_pembimbing=NIDN_DOSEN, tahun_ajaran=TAHUN_AJARAN, photo=photo, judul=JUDUL_BIMBINGAN, total_nilai=totalNilai(studentid, config.MINIMUM_PERTEMUAN_BIMBINGAN, KODE_DOSEN)[1] ) getFilePath(kelas.getDataMahasiswa(studentid)[3], 'kambing', switcherTipeBimbingan(tipe_bimbingan)) bkd.mail(kelas.getDataMahasiswa(studentid)[3], f'eyyowwwwwww {config.bot_name} nihhhh mau nganter file yang kamu mintaaa', f'ini ya file KAMBING (Kartu Bimbingan) yang Akang/Teteh minta silahkan di cek... ehee....', getFilePath(kelas.getDataMahasiswa(studentid)[3], 'kambing', switcherTipeBimbingan(tipe_bimbingan))) msgreply = f"sudah selesai dan sudah dikirim ke email kamu yang {kelas.getDataMahasiswa(studentid)[3]} yaa...." else: msgreply = f'mohon maaf belum bisa cetak kartu bimbingan dikarenakan pertemuan masih ada yang kurang:' if status_nilai1 == False: msgreply += f'\n{KODE_DOSEN_BIMBINGAN[0]} | {kelas.getNamaDosen(KODE_DOSEN_BIMBINGAN[0])}' else: msgreply = f'mohon maaf data dengan npm {studentid} tidak bisa ditemukan' else: msgreply = 'Mana nihhhh tipe bimbingannya coba dicek lagi yaa....' 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) tipe_bimbingan = cek_bimbingan_dosen.cekTipeBimbingan(msg) if tipe_bimbingan: datefromdatabasehomebase = getStartDate(num, tipe_bimbingan) if datefromdatabasehomebase is None: msgreply = 'wahhh kayaknya jadwal start bimbingannya belum diset sama kaprodi kamu deehhhh, coba minta di setting dulu jadwalnya....' else: startdate = datetime.date(datefromdatabasehomebase) pertemuan, datemulai, dateakhir = countPertemuan(startdate) if pertemuan == False: msgreply = 'yahhh pertemuannya udah kelewat batasss, yang sabar yaaaaaa..... :(' else: try: studentid = msg.split(' bimbingan ')[1].split(' ')[1] tipe = msg.split(' bimbingan ')[1].split(' ')[0] target_selesai = msg.split(' sudah dikerjakan ')[1].split( ' pekerjaan selanjutnya ')[0] terget_selanjutnya = msg.split( ' pekerjaan selanjutnya ')[1].split(' nilai ')[0] topik = target_selesai + ';' + terget_selanjutnya nilai = msg.split(' nilai ')[1].split(' passcode ')[0] ct = normalizeNewLine( data[3]).split(' passcode ')[1].split(' ivcode ')[0] iv = normalizeNewLine(data[3]).split(' ivcode ')[1] except: return 'wahhhh salah nih keywordnya coba diperbaikin deh....' resultpasscode = decryptData(normalizeBase64Code(iv), normalizeBase64Code(ct)) datenow = datetime.date(datetime.now()).strftime('%d%m%Y') hari = datetime.now().strftime('%A') hari = bimbingan_mahasiswa.hariSwitcher(hari) studentphonenumber = kelas.getStudentPhoneNumberFromNPM( studentid) studentphonenumber = normalizePhoneNumberToWhatsappVersion( studentphonenumber) logmsg = '' for i in getLogMessageStudent(datemulai, dateakhir, kelas.getKodeDosen(num), studentphonenumber): if i[0] != '': logmsg += i[0] + ';' if logmsg == '': msgreply = 'mohon maaf tidak ada diskusi diantara Dosen dan Mahasiswa maka tidak bisa di input... atau dosen dan mahasiswa kurang aktif diskusi' else: if resultpasscode == studentid + datenow + hari: if int(nilai) > 100: return 'buset nilainya kaga salah itu bos?? gede benerr......' if int(nilai) < 0: return 'wedewww kejam amat ngasih nilainya xixixixi' else: kodedosen = kelas.getKodeDosen(num) if isSudahInputBimbingan(studentid, pertemuan, kodedosen, tipe_bimbingan): updateNilaiBimbingan(studentid=studentid, nilai=nilai, topik=topik, pertemuan=pertemuan, logmsg=logmsg) msgreply = 'oke sudah iteung update yaaa nilainya.....' else: insertBimbingan(studentid=studentid, lecturerid=kodedosen, tipe=tipe, topik=topik, nilai=nilai, pertemuan=pertemuan, logmsg=logmsg) msgreply = 'oke sudah di input yaaa....' nama = kelas.getStudentNameOnly(studentid) databimbingan = getDataBimbingan(studentid) if databimbingan == None: return 'maaf data bimbingan tidak dapat ditemukan' else: pembimbing1 = databimbingan[0][-3] pembimbing2 = None for i in databimbingan: if i[-3] != pembimbing1: pembimbing2 = databimbingan.index(i) break if pembimbing2 is None: pembimbing2 = False pembimbing1 = databimbingan[0:] else: pembimbing1 = databimbingan[0:pembimbing2] pembimbing2 = databimbingan[pembimbing2:] msgreply += '\n\n*PENILAIAN DOSEN PEMBIMBING*' for i in pembimbing1: 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) if pembimbing2 == False: # msgreply+='\n\n*PENILAIAN DOSEN PEMBIMBING*\npembimbing belum input nilai' msgreply += '' else: msgreply += '\n\n*PENILAIAN DOSEN PEMBIMBING*' for i in pembimbing2: 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) else: msgreply = 'passcodenya salah bosqueeeeee' return msgreply else: return 'adidawwww mana nihhh tipe bimbingannyaa......'