Feedlr is a simple Discord Bot + Backend Services that allow you to add RSS Feeds to your Discord Server.
This is mostly a proof of concept, and is not intended to be used in production. Feel free to submit an Issue if you want something improved, refactored.
- Unlimited feeds per server/channel
- Simple to use native slash commands
- Good proxies for fetching feeds and bypassing automate bot detection
- Extended logic for parsing images (from RSS image tags, from body, from meta tags)
I wanted to track some RSS feeds on my Discord server and found out that most services are either paid or not very good.
- Clone the repository
- Install Taskfile (https://taskfile.dev/#/installation)
- Copy
.env.example
to.env
and fill in the values
- Run
task prisma
to build the Prisma Client and push the Prisma Schema to your database - Run
task bot-dev
to start the Discord bot in development mode - Run
task worker-dev
to start the Worker service in development mode - Run
task scheduler-dev
to start the Scheduler service in development mode
You can also run task dev
to start both the Discord bot and the backend services in development mode.
Note: Deploying MongoDB in Railway did not work with Prisma (It seems to require a multi-node cluster), though I gave it very little effort. Feel free to submit a PR if you would like to fix this.
Pre-requisites:
- Discord Bot Token
- Railway Account
- MongoDB Deployment
- Manager/Self hosted AMQP Server
Deployment Steps:
- Create a new project in Railway
- Configure shared environment variables, include all variables from
.env.example
- For each service - bot, worker, scheduler:
- Create a new Service in the project and point it to this repository
- Add all shared environment variables to the Service in Settings
- If the option is available, set the config path to
railway.[service name].toml
, e.g.railway.bot.toml
- If the option is not available, you will need to manually change the Settings to match the config file
- Deploy the Service