# Getting Started

The following document is a tutorial on how to host the bot yourself. Click here (opens new window) to invite the bot if you do not wish to self host.

# Install Script

A script is available here (opens new window) for Linux installations. If you are using Windows or do not wish to use this script, skip to the next section.

To use this script, run this command with root access:

wget -q https://raw.githubusercontent.com/nathanlytang/Steve/master/scripts/setup.sh && sudo ./setup.sh

NOTE: The Discord application still must be created manually on the Discord Developer Portal (opens new window). The guide on setting up a Discord application can be found here.

This script is also a configuration script, and can be run to change your environment configuration. Note that database names cannot be changed in MySQL after they have been created.

# Dependencies

  • Node.js v12 or higher with npm
  • MySQL 8 or higher or MariaDB v10.5 or higher
  • A Windows or Linux (Ubuntu and Debian tested) environment to run the bot

# Discord Developer Portal

To run a Discord bot, you must have a Discord application with the correct permissions, which can be created in the Discord Developer Portal (opens new window).

  1. On the top right of the site, click New Application. Give your application a name and click Create
  2. After the new application is created, select it and you will see a new screen with a Settings sidebar on the left. Open the Bot settings and click Add Bot.
  3. Under the Build-A-Bot section in the Bot settings, click on Reveal Token. Copy this token, you will need it later in the guide.
  4. In OAuth2 settings, select the bot scope with Send Messages and Embed Links permissions. A link that looks like this https://discord.com/api/oauth2/authorize?client_id=YOUR_BOT_CLIENT_ID&permissions=18432&scope=bot will appear, this is the link you will use to invite your bot to your Discord servers.
  5. Invite the bot to your server.

NOTE: Do not share your Discord token publicly as it can be used maliciously to impersonate your bot. If you suspect your token is compromised, click Regenerate to assign a new token to your bot.

# Download Files

Download a zip of the repository here (opens new window) or use git to clone.

# Change directory (Assuming you are using Linux)
cd /opt

# Clone the Git repository from Github
git clone https://github.com/nathanlytang/Steve.git/

# Installation

Once the required files are installed, we need to install the Node.js dependencies and copy the environment variables file.

# Change directory (Assuming you are using Linux)
cd /opt/Steve/

# Copy the environment variables file
cp .env.example .env

# Install node.js dependencies
npm install

Edit the .env file in a text editor. Place your Discord token that you grabbed earlier into the DISCORD_TOKEN variable. Right click on the bot in your Discord server member list and click "Copy ID", then paste into the CLIENT_ID variable. Below is the file you will edit:

CLIENT_ID=<YOUR_BOT_CLIENT_ID>
DISCORD_TOKEN=<YOUR_DISCORD_BOT_TOKEN_HERE>

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=stevebot
DB_USERNAME=stevebotuser
DB_PASSWORD=<DATABASE_PASSWORD_HERE>

Note: Remove the < and > signs when pasting your Discord token.

# Database Setup

Steve stores all its information in a database. To set one up, follow this short guide. Once the database has been setup, return here to continue.

Next, we will edit the .env file again. This time, take the password you just created during database setup and edit this line with your new password:

DB_PASSWORD=<DATABASE_PASSWORD_HERE>

# Running the bot

The formal set up is complete! All you need to do to start the bot is run the following command in the terminal:

npm run production

# Additional Configuration

Refer here for additional configuration, including backups, and setting up background processes/autostart.

Last Updated: 1/2/2022, 3:22:31 AM