Muse Discord Updates Bot
To keep in touch with my favorite music group Muse, I have developed a bot for biggest Muse Discord community, where data entry fetchers check various websites and social media accounts for any new entries. This results in finding out first about newest merchandise, new concerts or simply a YouTube upload. Updates are checked on one minute interval at fastest.
Features:
- Tracking which entries are new or old
- (tl,dr: fast) Multiple concurrent data fetchers, notifications get sent the moment an entry has been received from one of the data fetchers
- (again, fast) Sending webhook requests as fast as possible to the rate limit of Discord
- Tagging user role for specific notification group
As with other projects, I had a goal was to achieve, and that was TypeScript full coverage (even for API responses) and 100% test coverage. TypeScript coverage was done (learned what is type generics). For full test coverage, despite having test coverage percentage badges in the GitHub repository, I found that it is not exactly valuable to have 100% test coverage. Testing critical, valuable paths is good enough. For example, there is little point testing every data transformer which transforms data from A => B. But for evaluating timings and order or events to validate if the bot is sending notifications ASAP - now we are talking!
This project has existed since as early as 2017, but in 2025 this was rewritten, because the old one was using plain Node JavaScript, lacked tests, had not so great understanding of Promises back then, and generally it was not as fancy as I would like it to be. You can view the old code here and the new one here.
 
  
 