Anh em IT chúng ta thường rất bận rộn với trăm công ngàn việc, đôi khi quên cả việc lấy vợ. Vì thế mình ở đây để hướng dẫn các bạn tạo ra một tool nhắc nhở các bạn lấy vợ dựa trên độ tuổi bạn mong muốn
1. Mô tả
Tự động nhắc nhở bạn lấy vợ qua Telegram vào năm N
2. Yêu cầu
- NodeJS
- Telegram
3. Cấu trúc dự án
4. Triển khai
4.1 Khởi tạo dự án
npm init -y && \
npm i telegraf && \
npm i node-schedule && \
npm i dotenv && \
npm i -D nodemon
-
npm init -y
: Init package.json -
npm i telegraf
: Telegram bot -
npm i node-schedule
: Schedule jobs -
npm i dotenv
: Load environment variables -
npm i -D nodemon
: Start dev mode
Package.json file
{ "name": "lay-vo-tool", "version": "1.0.0", "description": "", "main": "./src/main.js", "type": "module", "scripts": { "start": "node .", "start:dev": "nodemon .", "trigger": "node ./src/trigger" }, "dependencies": { "dotenv": "^16.3.1", "node-schedule": "^2.1.1", "telegraf": "^4.12.2" }, "devDependencies": { "nodemon": "^2.0.22" }
}
4.2 Tạo telegram bot
Gõ @BotFather
Chọn Start
BotFather
Click Start trong BotFather chat và BotFather phản hồi nội dung như hình
Chọn /newbot
Nhập name và username của bot
Lưu trữ token API (mũi tên màu cam trong hình)
Sau đó click vào phòng chat của bot (mũi tên màu vàng trong hình) và nhấn Start
Tạo channel
Thêm bot vào channel
Administrators ➡️ Add Admin. Lưu ý cấp đầy đủ quyền cho bot
Lấy channel ID
Trong channel, nhập message bất kỳ, click Forward
đến Json Dump Bot
Json Dump Bot trả về json data, lấy id
trong forward_from_chat
{ ... "forward_from_chat": { "id": -1001835159917, "title": "Ngày tôi lấy vợ", "type": "channel" }, ...
}
4.3 Code
Sau khi đã lấy được Channel ID và Token API, COPY & PAST .env
TELEGRAM_TOKEN=
TELEGRAM_CHANNEL_ID=
COPY & PAST main.js
import 'dotenv/config';
import { Telegraf } from 'telegraf'; const main = async () => { const token = process.env.TELEGRAM_TOKEN; const channelID = process.env.TELEGRAM_CHANNEL_ID; const message = '⏰⏰⏰ ĐÃ TỚI LÚC LẤY VỢ RỒI BẠN ƠI!!!'; const bot = new Telegraf(token); await bot.telegram.sendMessage(channelID, message);
}; export default main;
COPY & PAST trigger.js
import schedule from 'node-schedule';
import main from './main.js'; const date = new Date(2030, 4, 4, 1, 2, 3); // 01:02:03 04/05/2030 const job = schedule.scheduleJob(date, () => { main();
});
4.4 Test
Chỉnh lại date
trong trigger.js
phù hợp để test
//... const date = new Date('year', 'monthIndex', 'date', 'hours', 'minutes', 'seconds'); //...
Chạy lệnh npm run trigger
Kết bài
Thành quả là các bạn sẽ có một con bot thông báo NHẮC LẤY VỢ theo ngày bạn cài đặt
Hy vọng bài viết này giúp các bạn không quên lấy vợ (thực ra mục đích của bài viết này là hướng dẫn tạo Telegram Bot nhe các bạn :v)
Cảm ơn các bạn đã đọc