A simple livestream notification Discord bot, built by the team who brought you Doras.to.
Doras Discord Bot is an open source GPLv3 bot to post live stream notifications & VODs to your Discord servers. It's primarily designed for Doras users, but anyone can use it.
- Multi-platform support: Twitch, Kick, YouTube Live, YouTube Latest, YouTube Shorts
- Live notifications: Get notified when your favorite streamers go live
- VOD support: Post VODs automatically
- Easy setup: Slash commands for adding/removing/listing notifications
- Web dashboard & API
- Open source: Host it yourself or contribute!
- TypeScript
- Docker
- discord.js
- Hono (API server)
- Drizzle ORM
- PostgreSQL
Follow these steps to set up the project locally.
- pnpm
- Docker
- Discord bot token (guide)
- Twitch API credentials (for event subscriptions)
- Kick API credentials (for Kick support):
- You must set up a Kick application and get your credentials at https://kick.com/settings/developer
- PostgreSQL database (Docker Compose included)
Note: You only need to set
TWITCH_EVENTSUB
andTWITCH_EVENTSUB_SECRET
if you have a lot of Twitch streams being checked. This enables Twitch EventSub for better scaling and efficiency.
- Clone the repo
git clone https://github.com/dorasto/discordbot.git cd discordbot
- Install dependencies
pnpm install
- Configure environment
- Copy
.example.env
to.env
and fill in the required fields.
- Copy
- Start the database
docker-compose up -d postgres
This project provides two Dockerfiles:
- Dockerfile: Standard deployment. Use this for running a single instance of the bot (suitable for most servers and small/medium Discord bots).
- Dockerfile.Shard: For sharded deployments. Use this if you want to run the bot in sharding mode, which is recommended for large bots or when your bot is in many servers. Sharding is a Discord feature that splits your bot across multiple processes to handle more servers efficiently. See the Discord.js Sharding Guide for more info.
Choose the Dockerfile that matches your scale and needs. For most users, the regular Dockerfile
is sufficient.
- Use
/add
to add a notification for a streamer/channel - Use
/remove
to remove a notification - Use
/list
to see all configured notifications - Use
/authenticate
to link your Doras account (if needed) - Use
/uptime
to check bot status
Note: There is no web UI for self-hosted users. If you use the hosted version at doras.to, you can access the web dashboard. For self-hosted, use Discord slash commands and the API only.
You can also use the web API (see server.ts
for endpoints) for advanced integrations.
See open issues for a full list of proposed features and known issues.
Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
Distributed under the GPLv3 License. See LICENSE
for more information.
The Doras Team
@doras_to
hi@doras.to
Project Link: https://github.com/dorasto/discordbot