Bắn noti qua Telegram trực tiếp từ Lark Base.

Có một số anh em có nhóm tele với các bên đối tác, và muốn tức thì bắn các thông báo liên quan từ Lark Base qua Telegram bot mà muốn đơn giản nhất, không muốn dùng Anycross thì dùng như sau.

Sử dụng Google Apps Scripts để code đoạn nhận tham số truyền vào qua url từ Lark Base sau đó bắn qua Telegram.

Google Apps Scripts free, việc này thực hiện rất đơn giản nhé.

Xem hình kèm theo, code mình viết bằng AI bạn copy & paste là chạy.

Link bài viết: https://www.facebook.com/groups/larksuite/posts/1263794198144238

Code mẫu:

function doGet(e) {
  // Bot configuration - Fixed token
  const BOT_TOKEN = "YOUR_BOT_TOKEN_HERE"; // Thay thế bằng token của bot
  
  // Get parameters from URL
  var params = e.parameter;
  var groupId = params.groupId; // Telegram group/chat ID 
  var message = params.message; // Message content
  var parseMode = params.parseMode || 'HTML'; // Parse mode parameter, default to HTML if not specified

  // Validate required parameters
  if (!groupId || !message) {
    return ContentService.createTextOutput("Missing required parameters");
  }

  // Validate parse_mode
  var validParseModes = ['HTML', 'Markdown', 'MarkdownV2'];
  if (!validParseModes.includes(parseMode)) {
    return ContentService.createTextOutput("Invalid parse_mode. Allowed values: HTML, Markdown, MarkdownV2");
  }

  // Telegram API URL
  var apiUrl = "https://api.telegram.org/bot" + BOT_TOKEN + "/sendMessage";
  
  // Prepare payload
  var payload = {
    "chat_id": groupId,
    "text": message,
    "parse_mode": parseMode
  };

  // API request options
  var options = {
    "method": "post",
    "payload": payload,
    "muteHttpExceptions": true
  };

  try {
    // Send message to Telegram
    var response = UrlFetchApp.fetch(apiUrl, options);
    var responseData = JSON.parse(response.getContentText());
    
    if (responseData.ok) {
      return ContentService.createTextOutput("Message sent successfully");
    } else {
      return ContentService.createTextOutput("Failed to send message: " + responseData.description);
    }
    
  } catch(error) {
    return ContentService.createTextOutput("Error: " + error.toString());
  }
}

// Example usage:
// Basic HTML mode:
// https://script.google.com/macros/s/.../exec?groupId=YOUR_GROUP_ID&message=Your message here
//
// Specify parse mode:
// https://script.google.com/macros/s/.../exec?groupId=YOUR_GROUP_ID&message=Your message here&parseMode=Markdown

Bot token được fix cố định trong code qua biến BOT_TOKEN Không cần truyền botId qua URL nữa URL request ngắn gọn hơn, chỉ cần truyền:

  • groupId: ID của group/chat cần gửi tin nhắn
  • message: Nội dung tin nhắn
  • parseMode (tùy chọn): Kiểu format tin nhắn (HTML/Markdown/MarkdownV2)

Leave a Reply

Your email address will not be published. Required fields are marked *