0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Hướng Dẫn Tạo Bot Telegram Thông Báo Số Lượng Email Chưa Đọc Cuối Ngày Bằng Google App Script

Đăng vào 1 tháng trước

• 3 phút đọc

Giới Thiệu về Google App Script

Google App Script là một nền tảng mã nguồn mở cho phép người dùng tự động hóa các tác vụ trên các dịch vụ của Google, như Google Sheets, Gmail, Google Docs, v.v. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo một bot Telegram thông báo số lượng email chưa đọc cuối ngày bằng Google App Script.

Cấu Trúc Bài Viết

  • Giới thiệu về Google App Script và soạn thảo chương trình Hello World đầu tiên
  • Tìm hiểu về hàm (Function) và đối tượng (Object)
  • Hướng dẫn lập lịch (Schedule) cho bot

Tại Sao Nên Tạo Bot Thông Báo Email

Đối với những người có công việc bận rộn, việc kiểm tra email có thể dễ dàng bị bỏ quên. Chính vì vậy, một ứng dụng miễn phí được viết bằng Google App Script sẽ gửi thông báo qua Telegram, giúp bạn nhận biết số lượng email chưa đọc và nhắc nhở bạn kiểm tra nội dung của chúng.

Lấy Danh Sách Email Chưa Đọc

Chúng ta sẽ sử dụng hàm sau để truy xuất các email trong hộp thư chính:

javascript Copy
GmailApp.search("category:primary", 0, 50);

Hàm trên trả về một danh sách các đối tượng GmailThread. Một GmailThread đại diện cho một chuỗi hội thoại email, giúp chúng ta dễ dàng xử lý các email chưa đọc.

In Thông Tin Email

Đầu tiên, chúng ta sẽ viết một hàm để in thông tin của một GmailThread:

javascript Copy
function printThreadMail(thread) {
  var message = thread.getMessages()[0]; 
  var emailSubject = message.getSubject();
  var emailSender = message.getFrom();
  var emailSnippet = message.getPlainBody().slice(0, 100);
  var str = "📧 *Email Mới*\n" +
            "👤 Từ: " + emailSender + "\n" +
            "📌 Tiêu đề: " + emailSubject + "\n" +
            "📝 Nội dung: " + emailSnippet;
  Logger.log(str);
  return str;
}

Đếm Số Lượng Email Chưa Đọc

Tiếp theo, chúng ta sẽ tạo một hàm để đếm số lượng email chưa đọc trong hộp thư:

javascript Copy
function countUnreadEmails() {
  var threads = GmailApp.search("category:primary", 0, 50);
  var unreadCount = 0;
  var strUnread = "";

  threads.forEach(function(thread) {
    if (thread.isUnread()) {
      unreadCount++;
      if (strUnread == "") {
        strUnread = printThreadMail(thread) + "\n\n-----------------------------";
      }
    }
  });

  return [unreadCount, strUnread];
}

Hàm này sẽ trả về số lượng email chưa đọc và thông tin của email đầu tiên chỉ để gửi qua Telegram.

Hàm Chính và Gửi Tin Nhắn Qua Telegram

Cuối cùng, chúng ta sẽ tạo hàm chính như sau:

javascript Copy
function main() {
  var unreadCount;
  var strUnread;
  var today = new Date();

  [unreadCount, strUnread] = countUnreadEmails();
  var dateF = formatDate(today);

  var message = `[${dateF}] Số email chưa đọc trong hộp thư: ${unreadCount}\n\n-----------------------------\n\n`;
  message += strUnread;

  // Định nghĩa hằng số
  var botToken = '<botToken>';  
  var chatId = '<chatId>'; 
  sendMessage(message, botToken, chatId);
}

Hàm sendMessageformatDate sẽ giúp định dạng lại ngày tháng và gửi tin nhắn qua Telegram. Chúng tôi sẽ cung cấp hướng dẫn về việc này trong bài viết sau.

Lập Lịch Chạy Bot

Sau khi hoàn tất, bạn cần lập lịch cho bot chạy vào khoảng 10-11h tối. Hướng dẫn lập lịch có thể tìm thấy trong bài viết về lập lịch (Schedule).

Kết Quả Cuối Cùng

Khi chạy bot thành công, bạn sẽ nhận được thông báo số lượng email chưa đọc và thông tin về email mới nhất.

Bài viết gốc được đăng tải tại: Google Script Hub
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào