tinh nang thong bao tin moi cua bot discord duoc tach ra mot phien ban cho telegram va nang cap hon.
click here (for users)
-
Click vào link và start bot: https://t.me/hcmus_tintuc_bot
- Bot crawl tin tức của HCMUS và gửi thông báo đến user thông qua Telegram.
- New feature: Tóm tắt nội dung chính của bài viết bằng Gemini, giúp nắm nhanh thông tin trước khi đọc tiếp.
- Quét tin tức mới 10 phút/lần, gửi ngay tới user khi có tin mới.
- Tập trung vào 1 feature chính là thông báo tin mới (không tích hợp quá nhiều tính năng như bot discord).
- Sử dụng goroutines, channel và worker pool của Go để xử lý đồng thời, tăng hiệu suất.
Lưu ý: Bot chỉ hỗ trợ private chat (chat riêng/cá nhân), không hỗ trợ group chat.
| Category | URL |
|---|---|
| Thông tin dành cho sinh viên | https://hcmus.edu.vn/category/dao-tao/dai-hoc/thong-tin-danh-cho-sinh-vien |
| Tin tức chung - HCMUS | https://hcmus.edu.vn/category/tin-tuc/ |
| Lịch thi - Phòng khảo thí | https://ktdbcl.hcmus.edu.vn/index.php/cong-tac-kh-o-thi/l-ch-thi-h-c-ky |
| Thông báo - Phòng khảo thí | https://ktdbcl.hcmus.edu.vn/index.php/thong-bao |
| Khoa CNTT - FIT@HCMUS | https://www.fit.hcmus.edu.vn/tin-tuc |
| CLC/APCS - CTĐA@HCMUS | https://www.ctda.hcmus.edu.vn/vi/thong-bao/ |
Note: Chương trình chính quy CNTT sài chung với khoa CNTT
|
Command
|
|
Factos 1:
maybe toi se xoa tinh nang nay ben bot discord va chi phat trien them ben nay (neu co thoi gian) (🐳)
- Language: Go 1.26.1
- Database: Supabase (PostgreSQL), pgx/v5
- Crawler: Colly (HTML), gofeed (RSS), net/http (API)
- Content extractor: go-readability
- AI Summarization: Gemini
- Telegram Bot: Telebot v4
- Scheduler: gocron
- Concurrency: Goroutines, Channels, sync.WaitGroup, Worker Pool
- Deployment: Docker + CI/CD pipeline (GitHub Actions)
Factos 2:
t thay code bang golang suong hon js (i'm addicted to golang lol xD)
click here (if u want to run it locally)
B1. Đảm bảo đã cài Go 1.26.1 thông qua: https://go.dev/doc/install
brew install go # for homebrew (macOS)
go version # check versionB2. Clone repo này về và di chuyển vào thư mục:
git clone https://github.com/cuogne/NewsTeleBot.git
cd NewsTeleBotB3. chạy file setup.sh đã được thiết lập sẳn trong repo để setup:
bash setup.shshell trên giúp bạn cài đặt các dependency cần thiết của Go, tạo file
.envdựa theo mẫu .env.example và thiết lập hot reload.
B4. Sau khi chạy xong, bạn sẽ có file .env trong thư mục với các biến môi trường cần thiết.
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
SUPABASE_URL=your_supabase_url
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODELS=add_your_gemini_models_here_separated_by_commasThay các token trong file .env vừa được tạo bằng token của bạn, cách lấy như sau:
-
Telegram Bot Token: Cài đặt Telegram theo link bên trên, tạo bot trên Telegram bằng cách nhắn tin với BotFather, gõ
/newbotvà làm theo hướng dẫn để lấy token và dán vào.env. -
Supabase URL: Login và tạo project trên Supabase, dán script tạo database trong db/database.sql vào
SQL Editorvà run nó, sau đó chọnConnectvà lấy URL trongSession pooler. -
Gemini API Key: tạo tài khoản trên Google AI Studio, chọn
Get API Keyvà lấy key. -
Gemini Models (tùy chọn): list model Gemini dùng để tóm tắt, phân tách bằng dấu phẩy. Ví dụ:
gemini-3.5-flash-lite,gemini-3.7-flash,gemini-3.6-flash.
Bạn có thể check các model Gemini có sẵn tại https://ai.google.dev/gemini-api/docs/models và thêm vào các model tương thích với nhu cầu của bạn.
B5. Run bot:
go run ./cmd/bot # chạy trực tiếp
make run # chạy bằng Makefile, lệnh như chạy trực tiếp
make dev # chạy ở chế độ dev, có hot reload (sử dụng air)
go build -o ./bin/bot ./cmd/bot # build thành binaryHoặc run thông qua docker:
docker build -t hcmus-news-tele-bot .
docker run -d --env-file .env --name tele-bot --restart unless-stopped hcmus-news-tele-botCheck logs và stats:
docker logs -f tele-bot
docker stats tele-bot





