Self-hosting is recommended for advanced users only who are experienced with the Node.js ecosystem. Note that setup or code support will not be given for attempting to run your own instance of RoVer, modified or otherwise.
- To get RoVer ready to run locally, the first step is to clone this repository onto the machine you wish to run it on.
- Node.js version 8.9.4 LTS or newer is recommended to run RoVer.
- Use NPM to install the dependencies from the project folder:
npm install
- Edit the file
src/data/client.json
and insert your bot token. - Start the bot from the project folder:
node ./src/index.js
- You should set up a process manager like PM2 or forever.js to ensure that the bot remains online.
The Update Server is an optional part of RoVer that can be enabled in client.json
. It is an HTTP server that can listen for requests and globally update a member in all guilds that the bot is in, similar to if they ran !verify
in every guild. This is used internally on the hosted version for when the user verifies on verify.eryn.io, but you could use it for whatever purpose you wish.
"token" : String. The bot token that is used to log in to your bot.
"lockNicknames" : Boolean. Default false. If true, the bot will run DiscordServer.verifyMember every time
they begin typing. This will quickly eat up API requests if you aren't careful. Mostly
used on the hosted version.
"updateServer" : {
If this object is present, the update server will be started.
"port" : Integer. The port the Update server runs on.
"apiKey" : String. The API key the server checks against before updating the user.
}
"loud" : Boolean. Default false. Logs every request made to stdout.
"totalShards" : Integer. Default auto. The number of shards to launch.
"apiRequestMethod" : String. Default 'sequential'. sequential' or 'burst'. Sequential executes all requests in the order
they are triggered, whereas burst runs multiple at a time, and doesn't guarantee a particular order.
"owner" : String. Default "0". The Discord ID of the bot's owner.
"commandPrefix" : String. Default "!". The prefix for commands.
"shardLifeTime" : Integer. Number of seconds each shard will run before closing.
"mainLifeTime" : Integer. Number of seconds the main process will run before closing. (Need a process manager if you want it to relaunch)
"maxServerBindings" : Integer. Default unlimited. Maximum number of bindings allowed per server