Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.1 kB
1
Indexable
Never
// Hàm này được gọi khi có bất kỳ sự kiện nào xảy ra trong Bot Telegram của bạn
function doPost(e) {
  var update = JSON.parse(e.postData.contents);
  var message = update.message;
  var chatId = message.chat.id;
  var text = message.text;
  
  // Kiểm tra và xử lý các lệnh của người dùng
  if (text === '/todo') {
    var newTask = message.text.split('/todo ')[1];
    if (newTask) {
      addTask(newTask);
      sendMessage(chatId, 'Đã thêm công việc mới: ' + newTask);
    } else {
      sendMessage(chatId, 'Vui lòng nhập tên công việc.');
    }
  } else if (text === '/listtodo') {
    var todoList = getTodoList();
    if (todoList.length > 0) {
      var message = 'Danh sách công việc:\n';
      for (var i = 0; i < todoList.length; i++) {
        var task = todoList[i];
        var checkbox = '☐';
        message += checkbox + ' ' + task + '\n';
      }
      sendMessage(chatId, message);
    } else {
      sendMessage(chatId, 'Không có công việc nào trong danh sách.');
    }
  } else if (text.startsWith('/done')) {
    var index = parseInt(message.text.split('/done ')[1]) - 1;
    if (!isNaN(index)) {
      var todoList = getTodoList();
      if (index >= 0 && index < todoList.length) {
        deleteTask(index);
        sendMessage(chatId, 'Công việc số ' + (index + 1) + ' đã được hoàn thành và đã được xoá khỏi danh sách.');
      } else {
        sendMessage(chatId, 'Số công việc không hợp lệ.');
      }
    } else {
      sendMessage(chatId, 'Vui lòng nhập số công việc cần hoàn thành.');
    }
  } else {
    sendMessage(chatId, 'Lệnh không hợp lệ. Hãy sử dụng /todo để thêm công việc mới, /listtodo để xem danh sách công việc, và /done để hoàn thành công việc.');
  }
}

// Hàm thêm công việc mới vào danh sách
function addTask(task) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([task]);
}

// Hàm lấy danh sách công việc từ bảng tính
function getTodoList() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var todoList = [];
  for (var i = 0; i < data.length; i++) {
    todoList.push(data[i][0]);
  }
  return todoList;
}

// Hàm xoá công việc đã hoàn thành khỏi danh sách
function deleteTask(index) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.deleteRow(index + 1);
}

// Hàm gửi tin nhắn với nội dung được chỉ định đến chatId
function sendMessage(chatId, message) {
var url = 'https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage'; // Thay thế <YOUR_BOT_TOKEN> bằng mã token của bot Telegram của bạn

var payload = {
'chat_id': chatId,
'text': message,
'parse_mode': 'HTML'
};
var options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}