No description
Find a file
2025-09-20 10:08:21 +02:00
.github/workflows fix db migrations 2025-01-18 00:02:05 +01:00
src add qalc command 2025-09-20 10:08:21 +02:00
.dockerignore undo 2025-03-17 22:45:40 +01:00
.env.example add setavatar command + auto update avatar (changeable by env 2025-05-15 16:40:04 +02:00
.gitignore add repeating reminders 2025-03-17 22:27:01 +01:00
compose.dev.yml add setavatar command + auto update avatar (changeable by env 2025-05-15 16:40:04 +02:00
compose.yml fix db migrations 2025-01-18 00:00:00 +01:00
config.ts add setavatar command + auto update avatar (changeable by env 2025-05-15 16:40:04 +02:00
Dockerfile fix db migrations 2025-01-17 23:38:33 +01:00
drizzle.config.ts fix db migrations 2025-01-17 23:38:33 +01:00
entrypoint.sh fix db migrations 2025-01-17 23:38:33 +01:00
LICENSE Initial commit 2024-03-19 11:18:24 +01:00
package.json idk bump ver 2025-09-10 17:05:55 +02:00
README.md update readme 2025-05-15 16:41:34 +02:00
tsconfig.json switch to ts paths, minecrafr skin now downloads the image and uses discord cdn 2025-01-07 01:24:11 +01:00

Installation

  1. Run git clone https://github.com/Stef-00012/userApps.
  2. Open the folder, cd userApps.
  3. rename .env.example to .env and fill the environment variables (See #Config)
  4. run npm run db:setup
  5. Run docker compose up -d.

Config

  • BOT_TOKEN: Your Discord bot token.

  • OWNERS: An list of Discord users allowed to use owner-only commands (split by ,). Example: 123,456,789.

  • PUBLIC: Whether the bot is public, if so, when the web is enabled, a /invite route is created that redirects to the bot's invite.

  • AUTO_UPDATE_AVATAR: An user ID or a boolean (when true, it defaults to the first owner ID).

  • ZIPLINE_TOKEN: Your Zipline token. 1

  • ZIPLINE_URL: Your Zipline hostname. 1

  • ZIPLINE_CHUNK_SIZE: File chunk size, for chunked uploads (in mb). 1

  • ZIPLINE_MAX_FILE_SIZE: Max file size (in mb). 1

  • ZIPLINE_VERSION: Your Zipline Version. 1

  • NAVIAC_USERNAME: Username for the N.A.V.I.A.C. API authentication. 2

  • NAVIAC_TOKEN: Token for the N.A.V.I.A.C. API authentication. 2

  • DASHBOARD_ENABLED: Whether the web dashboard is enabled.

  • DASHBOARD_HOSTNAME: Your web dashboard hostname.

  • DASHBOARD_SECURE: Whether the dashboard uses http or https.

  • DASHBOARD_URL_KEEP_PORT: Whether in the commands it should keep the port or remove it (eg. if you use a reverse proxy or port 443/80).

  • DISCORD_CLIENT_ID: Your Discord bot client ID.

  • DISCORD_CLIENT_SECRET: Your Discord bot client secret.

  • DISCORD_REDIRECT_URI: Your OAuth2 redirect URI. Should end with /login.

  • JWT_SECRET: Your JSON Web Token secret (any string, possibly hard to guess).

  • DISCORD_WEBHOOK_ENABLED: Whether you want to use discord webhook events (currently only application authorized event is supported), required web dashboard. When enabled it starts listening on /discord/webhook.

  • DISCORD_WEBHOOK_PUBLIC_KEY: The public key from you developer portal application.

  • DISCORD_WEBHOOK_NOTIFICATION_URLS: Urls where to send the notifications when an event is triggered (split by ,). Must be an AppRise Compatible URL.

  • DISCORD_WEBHOOK_MESSAGE_TITLE: Notification title when someone authorizes your bot. 3

  • DISCORD_WEBHOOK_MESSAGE_BODY: Notification body when someone authorizes your bot. 3

Hosted

If you can not selfhost the bot, you can use the already hosted versions.

Credits


  1. Zipline is https://zipline.diced.sh. ↩︎

  2. N.A.V.I.A.C. is an AI. ↩︎

  3. Message title and body support those templates:
    - {{user}}: Username of the user who authorized.
    - {{user.id}}: ID of the user who authorized.
    - {{bot}}: Bot username.
    - {{time}}: Day and hour when the event happened. ↩︎