Sổ thu chi cá nhân là một bản ghi chép chi tiết về tất cả các khoản thu nhập và chi tiêu của bạn trong một khoảng thời gian nhất định. Nó giống như một cuốn nhật ký tài chính, giúp bạn theo dõi dòng tiền ra vào, từ đó có cái nhìn tổng quan về tình hình tài chính cá nhân.
Ứng dụng sổ thu chi thông qua Telegram và Google Sheets
Ý tưởng chính:
- Giao diện thân thiện: Người dùng sẽ tương tác trực tiếp với bot Telegram để ghi nhận các khoản thu, chi.
- Lưu trữ dữ liệu: Dữ liệu sẽ được lưu trữ trực tiếp vào một Google Sheets được liên kết, giúp dễ dàng quản lý và phân tích.
- Tự động hóa: Nhờ webhook, quá trình ghi nhận dữ liệu sẽ diễn ra tự động và nhanh chóng, không cần phải thao tác thủ công trên Google Sheets.
- Linh hoạt: Người dùng có thể tùy chỉnh các lệnh để phù hợp với nhu cầu cá nhân, ví dụ như thống kê chi tiêu theo tháng, theo loại.
1.Webhook là gì?
Webhook, còn được gọi là web callback hoặc HTTP push API, là một cơ chế thông báo tự động. Khi có một sự kiện nào đó xảy ra trên một ứng dụng (ví dụ: một đơn hàng mới được đặt, một bài đăng mới được tạo), webhook sẽ tự động gửi một thông báo đến một URL cụ thể mà bạn đã đăng ký trước đó. Điều này giúp các ứng dụng có thể giao tiếp với nhau một cách tự động và thời gian thực, mà không cần phải liên tục kiểm tra xem có sự kiện mới nào xảy ra hay không.
Ví dụ:
- E-commerce: Khi một khách hàng hoàn thành đơn hàng, webhook sẽ thông báo cho hệ thống kho để bắt đầu xử lý đơn hàng đó.
- Social media: Khi một người dùng bình luận vào bài đăng của bạn, webhook sẽ thông báo cho bạn qua một ứng dụng khác.
2. Xây dựng Sổ chi tiêu – liên kết giữa google sheet và telegram bot dựa trên webhook
Đầu tiên ta mở ứng dụng Telegram lên, và tìm BotFather
Tiếp theo, gõ /newbot để tạo 1 con bot cho riêng mình, sau đó đặt tên cho con bot ví dụ: sothuchi_bot
Sau khi đã hoàn thành các bước trên telegram sẽ gửi về mã token, chúng ta lưu đoạn mã đó lại nhé
Tiếp theo, tạo 1 file trang tính mới và đặt tên, điền 1 số thông tin cột của sổ thu chi , tôi chia làm 2 sheet : sổ thu chi và bán hàng, vì có một số bạn sử dụng vào công việc bán hàng cần ghi chép lại nhanh cũng dc.
Chọn menu tiện ích –> Apps Script
Tải đoạn code tại đây , tải xong mở lên dán code đó vào đây.
Giờ thì chỉnh sửa trong code 1 chút nhé, thay chỗ mã token telegram của bạn ở trên vào.
Tiếp theo, Dùng API Telegram để lấy Chat ID:
Mở trình duyệt và nhập URL sau (thay TOKEN_BOT bằng token bot của bạn):
https://api.telegram.org/botTOKEN_BOT/getUpdates
Ví dụ, nếu bot của bạn có token là 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
, thì URL sẽ là:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getUpdates
Nhấn Enter để chạy.
Sau khi chạy URL, bạn sẽ thấy một đoạn JSON chứa thông tin tin nhắn, ví dụ:
{
“ok”: true,
“result”: [
{
“update_id”: 123456789,
“message”: {
“message_id”: 1,
“from”: {
“id”: 7523367464,
“is_bot”: false,
“first_name”: “Lâm”,
“username”: “your_username”
},
“chat”: {
“id”: 7523367464,
“first_name”: “Lâm”,
“username”: “your_username”,
“type”: “private”
},
“date”: 1678901234,
“text”: “Hello bot”
}
}
]
}
Chat ID chính là số "id": 7523367464
Sau đó thay chat id đó vào code và Lưu lại .
Sau đó, bạn sửa chỗ tên sheet của bạn lại, Sheet1 tương ứng với thu chi, Sheet2 tương ứng với bán hàng.
Tiếp theo vào Triển khai –> Tùy chọn triển khai mới
Chọn như hình dưới
Đặt tên bất kỳ và làm như hình dưới
Sau đó Ủy quyền theo như các hình sau
Sao chép đường link web đó
Sau đó, thay vào chỗ này và bấm Save
Cấu hình Webhook cho Telegram
Chạy lệnh sau trong trình duyệt:
https://api.telegram.org/bot7993536527:AAHCEB0SG2b2QOFiDGLKP1K5zxRZHt–dIM/setWebhook?url=[YOUR_SCRIPT_URL]
Thay [YOUR_SCRIPT_URL] bằng URL bạn vừa copy ở trên và bấm Enter.
Giờ thì đã xong, bây giờ bạn hãy thử nhắn tin đúng cú pháp thì sẽ ghi nhận vào google sheet
Ví dụ : tiền chi mua cf 30k
sẽ phản hồi thông báo đã ghi nhận và tính tổng tiền chi trong tháng
Và đây là trên google sheet
ban cũng có thể soạn cú pháp: nhập hàng ABC 500k hoặc bán hàng khách ABC 200k
để dữ liệu có thể lưu vào google sheet.
Chúc các bạn thành công !