D.O.N.E.D. is a simple, extensible CLI utility for sending notifications from shell scripts to Discord, Telegram, Google Chats, Microsoft Teams, and Slack. It’s packaged for easy installation as both .deb and .rpm.
- Send notifications to one or more services with a single command
- Supports Discord, Telegram, Google Chats, Microsoft Teams, and Slack
- Easy setup and configuration
- Works on any Linux system (Debian/Ubuntu, RHEL/Fedora, Arch/Manjaro, etc.)
- Packaged as
.deband.rpmfor easy deployment
Download the latest .deb or .rpm from the binaries/ directory.
Debian/Ubuntu:
sudo dpkg -i binaries/doned.debRHEL/Fedora/Rocky/SLES/OpenSuSe/Etc.:
sudo rpm -i binaries/doned.rpmArch/Manjaro (AUR)
Clone the AUR directory and run makepkg:
cd aur
makepkg -siOr use an AUR helper (e.g. yay):
yay -S donedRun the setup command (no sudo needed) to configure your notification services:
doned setup- Select one or more services (Discord, Telegram, Google Chats, Teams, Slack)
- Enter the required webhook URLs or tokens
Send a message to all configured services:
doned "Your message here"Send to a specific service:
doned discord "Message for Discord only"
doned telegram "Message for Telegram only"If you run a command like:
sleep 3 && donedD.O.N.E.D. will send a notification to all configured services:
✅ Your command has finished on <hostname>
You can also pass a variable or message:
sleep 3 && doned "test01"This will send:
✅ Your command has finished on <hostname>
test01
Send a test notification to all configured services:
doned testSend a test notification to a specific service:
doned test slackShow your current configuration and webhook status:
doned statusConfiguration is stored at ~/.config/doned/done.conf by default. To use a different file (for example, a shared path managed by root), export DONED_CONFIG=/path/to/done.conf before running doned commands. Keep those files readable only by trusted users; the CLI does not modify /etc/done.conf unless you explicitly point DONED_CONFIG there.
Configuration files include:
- NOTIFY_TYPES: Array of enabled services
- Service-specific tokens/URLs
- Commented template sections for all supported services
Example:
NOTIFY_TYPES=(discord telegram)
WEBHOOK_URL="https://discord.com/api/webhooks/..."
TELEGRAM_BOT_TOKEN="123456:ABC-DEF"
TELEGRAM_CHAT_ID="987654321"To build the .deb and .rpm packages yourself, see the doned.spec and discord-notifier/DEBIAN directories.
- Telegram: notifications now send both lines as a single message
- Default: running
donedsends a notification with a default message and optional variable - Fixed NOTIFY_TYPES array and config writing
doned testanddoned statusnow work for all types- Rebuilt
.deband.rpmpackages - Warn on config overwrite in setup; config now includes commented templates for all media types
GNU General Public License v2.0