How to self-host Friend Time.


  1. Node.js v16.6.0 or newer.

  2. A MySQL or MariaDB database.


  1. Copy example config files.

    • Navigate to the config folder of this project.

    • Copy all files ending in .example.json and remove the .example from the copied file names.

      • Ex: config.example.json should be copied and renamed as config.json.

  2. Obtain a bot token.

  3. Modify the config file.

    • Open the config/config.json file.

    • You'll need to edit the following values:

      • - Your discord bot's user ID.

      • client.token - Your discord bot's token.

      • The ip address that your database is running on (or localhost)

      • database.database - The name of the database to use.

      • database.username - The username to use when accessing the database.

      • database.password - The password of the user accessing the database.

  4. Install packages.

    • Navigate into the downloaded source files and type npm install.

  5. Register commands.

    • In order to use slash commands, they first have to be registered.

    • Type npm run commands:register to register the bot's commands.

      • Run this script any time you change a command name, structure, or add/remove commands.

      • This is so Discord knows what your commands look like.

      • It may take up to an hour for command changes to appear.


You can run the bot in multiple modes:

  1. Normal Mode

    • Type npm start.

    • Starts a single instance of the bot.

  2. Manager Mode

    • Type npm run start:manager.

    • Starts a shard manager which will spawn multiple bot shards.

  3. PM2 Mode

    • Type npm run start:pm2.

    • Similar to Manager Mode but uses PM2 to manage processes.

Last updated