Dalam artikel ini, kita akan mempelajari cara mendapatkan informasi Grup atau Saluran Telegram (misalnya deskripsi, jumlah anggota, dll.) menggunakan Telegram Bot API.
Sebelum kita mulai, mari kita lihat Demo-nya.
Apa itu Telegram?
Telegram adalah aplikasi perpesanan lintas platform populer yang dikembangkan oleh Telegram Messenger LLP, sebuah perusahaan swasta yang terdaftar di London, Inggris. Aplikasi ini banyak digunakan karena menawarkan beberapa fitur privasi dan enkripsi yang ditingkatkan serta mendukung fitur obrolan grup besar.
Aplikasi Telegram bersifat multiplatform, dengan versi aplikasi yang tersedia untuk iOS, Android, Windows, Mac, dan Linux. Anda juga dapat mengakses Telegram dari peramban web.
Telegram didirikan oleh pengusaha media sosial Rusia Pavel Durov, dan layanan ini gratis untuk digunakan.
Bagaimana cara mendapatkan Info Saluran atau Grup?
Sebelum kita mulai, ada beberapa persyaratan untuk mengirim Permintaan HTTP ke API Telegram dan mendapatkan respons.
Persyaratan
- Buat bot di aplikasi Telegram, dan dapatkan token bot.
- Untuk melacak Channel atau Grup, nama
@channelatau nama@groupdiperlukan. Namun, Anda juga dapat menggunakan chat_id, misalnya-1001615491316. chat_id diperlukan untuk grup atau channel privasi. - Bot tidak boleh diblokir di Grup atau Channel. Tambahkan bot jika grup atau channel bersifat privasi.
Untuk mendapatkan informasi Grup atau Saluran Telegram, yang perlu kita lakukan adalah mengirimkan permintaan HTTP ke API Telegram.
Contoh API:https://api.telegram.org/bot<token-disini>?<api-method-disini>
Jika Anda ingin mempelajari lebih lanjut tentang metode API lainnya, Anda dapat membaca Telegram Bot API
Metode getChat
Dengan menggunakan metode ini, kita bisa mendapatkan informasi terkini tentang obrolan (nama pengguna saat ini untuk percakapan satu lawan satu, nama pengguna saat ini dari suatu pengguna, grup atau saluran, dll.).
Contoh:https://api.telegram.org/bot<token-disini>/getChat?chat_id=<nomor-id>
Mengembalikan objek Obrolan jika berhasil, seperti yang ditunjukkan pada contoh di bawah ini:
{
"id": -1001615491316,
"title": "Fineshop Design - Support",
"username": "Fineshop_Design",
"type": "supergroup",
"description": "The official Group of Fineshop Design.\n\nChannel: @fineshopdesign\nWebsite: www.fineshopdesign.com",
"permissions": {
"can_send_messages": true,
"can_send_media_messages": true,
"can_send_polls": false,
"can_send_other_messages": true,
"can_add_web_page_previews": false,
"can_change_info": false,
"can_invite_users": true,
"can_pin_messages": false
},
"linked_chat_id": -1001737659421,
"photo": {
"small_file_id": "AQADBQADO7AxG_8oWVQACAIAAwx_EMsW____v1GqOZ_Ct30jBA",
"small_file_unique_id": "AQADO7AxG_8oWVQAAQ",
"big_file_id": "AQADBQADO7AxG_8oWVQACAMAAwx_EMsW____v1GqOZ_Ct30jBA",
"big_file_unique_id": "AQADO7AxG_8oWVQB"
}
}
Dengan demikian, kami memperoleh semua informasi yang dibutuhkan tentang grup atau saluran tersebut.
Tetapi objek obrolan tidak memuat jumlah total anggota grup atau pelanggan saluran.
Metode getChatMembersCount
Untuk melacak jumlah anggota, kita perlu mengirim permintaan HTTP lagi menggunakan Metode getChatMembersCount.
Contoh:https://api.telegram.org/bot<token-disini>/getChatMembersCount?chat_id=<nomor-id>
Kita akan mendapat respon seperti:
{
"ok": true,
"result": 158
}
Jumlah total pengikut ditampilkan di kunci result. Kita tinggal menguraikannya.
Contoh Lengkap
Berikut adalah contoh lengkap yang dapat Anda pelajari cara mendapatkan informasi Grup atau Saluran menggunakan Telegram API.
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta http-equiv='X-UA-Compatible' content='IE=Edge'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<title>Telegram Group or Channel Information</title>
<link rel='stylesheet' href='./style.css'>
</head>
<body>
<div id='telegram-info'></div>
<script src='./script.js'></script>
</body>
</html>
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,700;1,600&display=swap');
body {
padding: 15px;
background: #E8EAF6;
font-family: 'Poppins', sans-serif;
}
.container {
background: #fff;
padding: 5px;
border-radius: 10px;
box-shadow: 0 5px 35px rgba(0, 0, 0, .1);
font-size: 14px;
font-weight: 400;
}
.box {
display: flex;
flex-wrap: wrap;
background: #E3F2FD;
margin: 10px;
border-radius: 10px;
overflow: hidden;
}
.box >* {
position: relative;
padding: 15px;
background: #fff;
width: 100%;
}
.box >*:first-child {
background: #42A5F5;
color: #fff;
border-radius: 10px;
font-weight: 500;
}
.box >*:last-child {
background: #E3F2FD;
}
/**
* To Get Group or Channel Info
* Using Telegram API
* By Fineshop Design
**/
/* Telegram Bot Api Token (sensitive), don't share publicly */
var token = '****************';
/* chat_id for the group or channel you want to track, i.e. @group, @channel or -1001615491316 */
var chat_id = '@Fineshop_Design';
/* HTTP Request Function */
function httpRequest(URL, Method) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open(Method, URL, false);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.send(null);
return JSON.parse(xmlHttp.responseText);
}
/* Sending a request to Telegram API to get chat object of a particular channel or group */
function getChatDetails() {
return httpRequest(`https://api.telegram.org/bot${token}/getChat?chat_id=${chat_id}`, 'GET');
}
/* Parsing Chat Object from result key */
var chatObj = getChatDetails()['result'];
console.log(chatObj);
/* Sending a request to Telegram API to get number of members in a particular group or channel */
function getMemberCount() {
return httpRequest(`https://api.telegram.org/bot${token}/getChatMembersCount?chat_id=${chat_id}`, 'GET');
}
/* Parsing Members Number from result key */
var members = getMemberCount()['result'];
console.log(members);
/* Writing in HTML */
document.getElementById('telegram-info').innerHTML = `<div class='container'>
<div class='box'>
<span>Title:</span>
<span>${chatObj.title}</span>
</div>
<div class='box'>
<span>Type:</span>
<span>${chatObj.type}</span>
</div>
<div class='box'>
<span>Username:</span>
<span>@${chatObj.username}</span>
</div>
<div class='box'>
<span>Chat ID:</span>
<span>${chatObj.id}</span>
</div>
<div class='box'>
<span>Description:</span>
<span>${chatObj.description ? chatObj.description.replaceAll('\n', '<br>') : "No description"}</span>
</div>
<div class='box'>
<span>Followers:</span>
<span>${members}</span>
</div>
</div>`;
Kesimpulan
Ini semua tentang cara mendapatkan Data Grup Telegram atau Channel menggunakan API Telegram. Semoga Anda menikmati artikel ini. Silakan bagikan artikel ini. Dan jika Anda mengalami masalah di bagian mana pun atau memiliki pertanyaan, silakan tanyakan kepada kami di kolom komentar. Terima kasih!
Copyright (c):
fineshopdesign.com