https://github.com/pardnchiu/go-notify-hub
Unified notification gateway for Slack, Discord, LINE, and Email
https://github.com/pardnchiu/go-notify-hub
backend discord email go golang lineoffical pardnchiu slack
Last synced: 23 days ago
JSON representation
Unified notification gateway for Slack, Discord, LINE, and Email
- Host: GitHub
- URL: https://github.com/pardnchiu/go-notify-hub
- Owner: pardnchiu
- License: mit
- Created: 2026-01-23T10:41:46.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2026-02-05T16:55:12.000Z (5 months ago)
- Last Synced: 2026-02-05T18:57:27.433Z (5 months ago)
- Topics: backend, discord, email, go, golang, lineoffical, pardnchiu, slack
- Language: Go
- Homepage:
- Size: 153 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> [!NOTE]
> This README was generated by [SKILL](https://github.com/pardnchiu/skill-readme-generate), get the ZH version from [here](./README.zh.md).
# go-notify-hub
[](https://pkg.go.dev/github.com/pardnchiu/go-notify-hub)
[](https://goreportcard.com/report/github.com/pardnchiu/go-notify-hub)
[](LICENSE)
[](https://github.com/pardnchiu/go-notify-hub/releases)
> A unified multi-channel notification hub that delivers messages to Discord, Slack, LINE, and Email through a single REST API.
## Table of Contents
- [Features](#features)
- [Architecture](#architecture)
- [File Structure](#file-structure)
- [License](#license)
- [Author](#author)
- [Stars](#stars)
## Features
> [Documentation](./doc.md)
### Unified Multi-Channel Delivery
Send notifications to Discord Webhooks, Slack Webhooks, LINE broadcasts, and Email SMTP through one set of REST endpoints. Configure channel credentials once and push messages across all platforms with a consistent interface.
### Bot Interaction Engine
Built-in event processing for Discord and LINE bots with unified command parsing and reply logic. The chatbot and notification services share the same backend, reducing operational and deployment complexity.
### Dynamic Channel Management
Add or remove webhook channels at runtime via API calls. Channel configurations persist to JSON files and are protected by read-write locks, allowing notification targets to change without service restarts.
## Architecture
```mermaid
graph TB
Client[REST API Client]
Client --> Discord[Discord Webhook]
Client --> Slack[Slack Webhook]
Client --> LINE[LINE Bot]
Client --> Email[Email SMTP]
Discord --> DM[Dynamic Channel Mgmt
JSON + RWMutex]
Slack --> SM[Dynamic Channel Mgmt
JSON + RWMutex]
LINE --> BotEngine[Bot Interaction Engine]
DiscordBot[Discord Bot] --> BotEngine
BotEngine --> Handler[Unified Command Handler]
```
## File Structure
```
go-notify-hub/
├── cmd/
│ └── api/
│ └── main.go # Entry point and route setup
├── internal/
│ ├── bot/
│ │ ├── dicord/ # Discord bot event handlers
│ │ ├── line/ # LINE bot webhook handlers
│ │ └── handler/ # Shared command parsing & reply
│ ├── channel/
│ │ ├── discord/ # Discord webhook delivery
│ │ └── slack/ # Slack webhook delivery
│ ├── database/ # SQLite data access
│ ├── email/ # SMTP single & bulk sending
│ └── utils/ # Shared utilities & validation
├── sql/ # Database schema
├── json/ # Channel config files
├── docker-compose.yml
└── go.mod
```
## License
This project is licensed under the [MIT LICENSE](LICENSE).
## Author

邱敬幃 Pardn Chiu
## Stars
[](https://www.star-history.com/#pardnchiu/go-notify-hub&Date)
***
©️ 2026 [邱敬幃 Pardn Chiu](https://linkedin.com/in/pardnchiu)