Cách lấy Thông tin Kênh hoặc Nhóm bằng Telegram API

Các bước dễ dàng để nhận Thông tin về Nhóm hoặc Kênh Telegram, ví dụ như mô tả, số lượng thành viên, v.v. bằng cách sử dụng Telegram API.

Trong bài viết này, chúng ta sẽ tìm hiểu cách lấy thông tin Nhóm hoặc Kênh Telegram (ví dụ: mô tả, số lượng thành viên, v.v.) bằng cách sử dụng Telegram API.

Telegram là gì?

Telegram là một ứng dụng nhắn tin đa nền tảng phổ biến được phát triển bởi Telegram Messenger LLP, một công ty tư nhân được đăng ký tại London, Vương quốc Anh. Nó được sử dụng rộng rãi vì nó cung cấp một số tính năng bảo mật và mã hóa nâng cao cũng như hỗ trợ các tính năng trò chuyện nhóm lớn.

Ứng dụng Telegram là đa dạng, với các phiên bản của ứng dụng có sẵn cho iOS , Android , Windows , MacLinux . Bạn cũng có thể truy cập Telegram từ trình duyệt web .

Telegram được thành lập bởi doanh nhân truyền thông xã hội người Nga Pavel Durov và dịch vụ này được sử dụng miễn phí.

Làm cách nào để nhận Thông tin về Kênh hoặc Nhóm?

Trước khi chúng tôi bắt đầu, có một số yêu cầu để gửi Yêu cầu HTTP tới Telegram API và nhận phản hồi.

Yêu cầu

  1. Tạo bot trên ứng dụng Telegram và nhận mã thông báo bot.
  2. Để theo dõi Kênh hoặc Nhóm, @channel tên hoặc @group tên là bắt buộc. Tuy nhiên, bạn cũng có thể sử dụng chat_id, tức là -1001615491316. chat_id là bắt buộc trong trường hợp nhóm hoặc kênh riêng tư.
  3. Bot không được cấm trong Nhóm hoặc Kênh. Thêm bot nếu nhóm hoặc kênh là riêng tư.
Để lấy thông tin của một Nhóm hoặc Kênh Telegram, những gì chúng ta cần làm là gửi một yêu cầu HTTP tới Telegram API.
Ví dụ về API: https://api.telegram.org/bot<token-here>?<api-method-here>

Nếu bạn muốn hiểu thêm về các phương thức API khác, bạn có thể đọc Telegram Bot API

Phương thức getChat

Sử dụng phương pháp này, chúng tôi có thể nhận được thông tin cập nhật về cuộc trò chuyện (tên hiện tại của người dùng cho các cuộc trò chuyện trực tiếp, tên người dùng hiện tại của người dùng, nhóm hoặc kênh, v.v.).
Thí dụ:
https://api.telegram.org/bot<token-here>/getChat?chat_id=<id-number>

Nó trả về một đối tượng Trò chuyện khi thành công, như được hiển thị trong ví dụ dưới đây:
{
    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"
    }
}

Do đó, chúng tôi đã có tất cả thông tin cần thiết về nhóm hoặc kênh.

Nhưng đối tượng trò chuyện không chứa tổng số không. thành viên nhóm hoặc người đăng ký kênh.

Phương thức getChatMembersCount

Để theo dõi số lượng thành viên, chúng tôi cần gửi lại yêu cầu HTTP bằng getChatMembersCountPhương pháp.

Thí dụ: https://api.telegram.org/bot<token-here>/getChatMembersCount?chat_id=<id-number>
Chúng tôi sẽ nhận được phản hồi như:

{
ok: true,
result: 158
}

Tổng số người theo dõi được hiển thị trong result khóa. Chúng tôi vừa mới phân tích cú pháp. 

Ví dụ đầy đủ

Dưới đây là một ví dụ đầy đủ mà qua đó bạn có thể tìm hiểu cách lấy thông tin Nhóm hoặc Kênh bằng cách sử dụng Telegram API.

index.html

Đây là mã HTML:
<!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>

 style.css

Đây là mã CSS:
@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;
}

script.js

Đây là mã JavaScript Vanilla:

/**
 * 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.replaceAll('\n', '<br>')}</span>
  </div>
  <div class='box'>
    <span>Followers:</span>
    <span>${members}</span>
  </div>
</div>`;

 Kết luận

Đây là tất cả về việc lấy Dữ liệu kênh hoặc Nhóm Telegram bằng cách sử dụng Telegram API. Tôi hy vọng bạn thích bài viết này. Xin vui lòng chia sẻ bài viết này. Và nếu bạn đang gặp vấn đề trong bất kỳ phần nào hoặc bạn có bất kỳ câu hỏi nào thì hãy hỏi chúng tôi trong hộp bình luận . Cảm ơn bạn!

Admin

Dùng thái độ tích cực, sống cuộc đời an nhiên!

Đăng nhận xét

Mới hơn Cũ hơn