Skip to content

rovelstars/discord-list

Repository files navigation

Rovel Discord List

Imagine a better place - where you can find everything about discord!


Dark Theme

dark mode homepage

Light Theme

light mode homepage


Looking for the old version?

It's publicly archived at rovelstars/discord-list-old.


License Notice

license picture

This project is licensed under the GNU GPLv3 License. You can view the license here. Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.


Self Hosting

We use SvelteKit to build the website, with Turso (libSQL) as the database and Drizzle ORM for queries. To run the website locally you need Node.js or Bun installed. The project is configured to deploy on Netlify.

Running the website locally

  1. Clone the repository

    git clone https://github.com/rovelstars/discord-list
  2. Change into the project directory

    cd discord-list
  3. Copy the example environment file and fill in your values

    cp .env.example .env

    See the Environment Variables section below for a description of every variable.

  4. Install the dependencies

    bun install   # or: npm install
  5. Start the development server

    bun dev       # or: npm run dev

    The site will be available at http://localhost:5173 by default.

Building for production

bun run build   # or: npm run build

Periodic CDN Refresh

Discord CDN attachment URLs (used as bot background images) expire after ~24 hours. This project includes a Netlify Scheduled Function that automatically refreshes them every 12 hours with zero site downtime:

  • netlify/functions/scheduled-cdn-refresh.mts - runs on cron 0 */12 * * *, calls the internal endpoint below.
  • src/routes/api/internals/refresh-cdn-bgs/+server.ts - fetches only id+bg columns, classifies URLs in memory (no CDN fetches), sends expired ones to Discord's POST /attachments/refresh-urls API in batches of 50, and writes back only the rows that actually changed.

Make sure INTERNAL_SECRET, SITE_URL, and DISCORD_TOKEN are set in your Netlify environment variables for this to work.


This project is kept open source so we are transparent in our services, and so that interested people can contribute to it.

Thank you for your time, love and support that make this project possible!

Stargazers

Stargazers repo roster for @rovelstars/discord-list

Forkers

Forkers repo roster for @rovelstars/discord-list

About

Imagine a place - where you get to find everything about discord! Ranging from botlist, to users, servers, templates, banners, stickers and emojis!

Topics

Resources

License

Stars

Watchers

Forks

Contributors