Skip to content

dorasto/discordbot

Repository files navigation

Doras Discord Bot

Typescript docker discordjs

A simple livestream notification Discord bot, built by the team who brought you Doras.to.

Contributors Forks Stargazers Issues GPL License Deployments


Table of Contents


About The Project

Screenshot

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.

Features

  • 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!

Built With


Getting Started

Follow these steps to set up the project locally.

Prerequisites

  • pnpm
  • Docker
  • Discord bot token (guide)
  • Twitch API credentials (for event subscriptions)
  • Kick API credentials (for Kick support):
  • PostgreSQL database (Docker Compose included)

Note: You only need to set TWITCH_EVENTSUB and TWITCH_EVENTSUB_SECRET if you have a lot of Twitch streams being checked. This enables Twitch EventSub for better scaling and efficiency.

Installation

  1. Clone the repo
    git clone https://github.com/dorasto/discordbot.git
    cd discordbot
  2. Install dependencies
    pnpm install
  3. Configure environment
    • Copy .example.env to .env and fill in the required fields.
  4. Start the database
    docker-compose up -d postgres

Dockerfile vs Dockerfile.Shard

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.


Usage

  • 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.


Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a pull request

License

Distributed under the GPLv3 License. See LICENSE for more information.


Contact

The Doras Team
@doras_to
hi@doras.to

Project Link: https://github.com/dorasto/discordbot


Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages