// 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);
}