Create custom alerts for different events like messages, stats, inventory changes, or built-in notifications
Documentation
Watchdog
Create custom alerts triggered by
- Game Messages (supports glob pattern or regex)
- Player Chat Messages (supports glob pattern or regex)
- Overhead Text (supports glob pattern or regex)
- Stat Drain/Change
- Sound Fired (trigger on a sound effect playing)
- Notifications (supports glob pattern or regex. allows you to hook into existing notifications, even if you have the alerts off in Runelite. For example low prayer, idle, tempoross, etc)
- Inventory Changes
- Object/Item/NPC Spawned
- XP Drop
- Location
with any amount of unique action types like
- Game Message
- Screen Flash
- Custom Sound
- In-Game Sound Effect
- Text to Speech (Eleven Labs API key needs Voices and TTS permissions)
- Tray Notification
- Overhead Text
- Overlay
- Popup
- Screen Marker
- Object Marker
- Request Focus
- Dink Notification
- Plugin Message
- RuneLite Notification (to trigger things like RL Tray Notifications)
_You can set defaults for the actions in the plugin config_
For more information on trigger and action types, see the wiki.
_NOTE: Watchdog is disabled in the following areas:_
- Alchemical Hydra
- Vardorvis
- Leviathan
- Whisperer
- Sucellus
- Vorkath
- Inferno
- Fight Cave
- Colosseum
- Kalphite Queen
- COX
- TOB
- TOA
- Yama
- Delve Boss (Doom of Mokhaiotl)
- Nightmare
_Updated 2025/07/25_
Recommended RuneLite Notification Settings
Request Focus should be set to Off otherwise you will get some wrong behaviors with your background notifications.
Examples
Alert Hub
Add alerts other users have shared directly from the panel! You can check out the alert hub branch to learn how to upload your own.
Capture Groups
Capture groups can make your alerts dynamic by changing the output depending on what triggered the alert.
Any trigger with a text input can use {} to create a capture group around the text inside it. You can then use the
captured text in your alert output by writing $1. Multiple brackets can be read sequentially with $2, $3 etc.
This is useful when using glob glob), since the text that was
globbed can now be captured with {*}.
Say you have a Notification Fired Alert with the Message set to Your {} is ready to harvest in {}.
You could then have a TTS notification set to Go get your $1 in $2! which would make it say something like
Go get your Ranarr in Ardougne!.
Another useful output is as the file name for a sound notification. With the above example, we could set the alert
to play $1.wav, which would actually play other files in the same folder such as ranarr.wav and torstol.wav.
To set this up, you have to include and select a dummy file $1.wav in the folder with the files you wish to use,
even though the file itself will not be played.
With regex enabled, you instead use parenthesis () to surround the text you wish to capture.
Attribution
This project uses the JACo MP3 Player to play mp3 files. Its source can be found here and is licensed under LGPL which you can find here or otherwise here.
