Skip to content

Instantly share code, notes, and snippets.

@23Pstars
Last active October 5, 2021 08:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 23Pstars/edaab005fd4a6c62491d570fb8bcb059 to your computer and use it in GitHub Desktop.
Save 23Pstars/edaab005fd4a6c62491d570fb8bcb059 to your computer and use it in GitHub Desktop.
Code snippet of core functionalities inside Bot Telegram-SIA services
<?php
# Fungsi load tombol pada keyboard sebagai menu
# masing-masing untuk dosen dan mahasiswa
public static $_services = [
self::_dosen => [
self::_akademik,
self::_daftar_kelas,
self::_reset_password,
self::_presensi_kehadiran,
],
self::_mahasiswa => [
self::_akademik,
self::_reset_password,
self::_daftar_krs,
self::_daftar_nilai,
self::_presensi_kuliah,
]
];
# Update state untuk aksi pada masing-masing tombol
# untuk membentuk service-flow
$_update
->setType(Helpers::type_sia)
->setState(Helpers::state_sia_init);
Databases::_gi()->_update_insert($_update);
# Fungsi untuk request data ke API SIA
# sesuai jenis service yg diperlukan
public function _api($service, $data)
{
return json_decode(file_get_contents(self::API_URI . DS .
Helpers::arr(self::$_endpoints, $service) . '?' . http_build_query($data),
false, stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
)
)
)), true);
}
# Memanggil fungsi API ke SIA
# sesuai dengan isi pesan dari client
$__resp = $this->_api($_update->getText(), [
'telegram_id' => $_update->getChatId()
]);
# Mengirim pesan ke client
# dosen dan mahasiswa
Telegram::_gi()->_send_message(Helpers::$_bots[Helpers::_bot_unram], $_update->getChatId(),
Helpers::arr($__resp, 'message')
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment