Automated news and update bots for the TDN social platform. Each bot monitors a technology's GitHub releases and/or RSS blog feed, then publishes posts to TDN when something new is detected.
137 watchers across 100+ technologies — languages, frameworks, AI/LLM tools, infrastructure, game engines, and more.
src/
index.js — Entry point; starts all watchers
logger.js — Shared timestamped logger
api/client.js — TdnClient: login, token refresh, createPost()
core/
BaseUpdateWatcher.js — Polls GitHub releases API; emits 'new_update'
BaseNewsWatcher.js — Polls RSS/Atom feeds directly; emits 'new_article'
requestScheduler.js — Rate-limited fetch queue (github / rss lanes)
utils.js — buildNewsPost(), buildUpdatePost(), text helpers
bots/{name}/
update.js — GitHub release watcher for that tool
news.js — RSS news watcher for that tool
scripts/
setup-bots.js — One-time: register bot accounts on the platform
pnpm install
# Copy and fill in your API credentials:
cp config.example.json config.json
# Register bot accounts (first time only):
node scripts/setup-bots.js
# Start all bots:
pnpm startSee CONTRIBUTING.md.
config.json (gitignored) must exist at the project root:
{
"apiBaseUrl": "http://localhost:8080/api/v1",
"bots": {
"mybotname": {
"username": "mybotname",
"email": "mybotname@bot.com",
"password": "StrongPassword123!"
}
}
}Set GITHUB_TOKEN in a .env file to raise the GitHub API rate limit from 60 to 5,000 req/h.