Links

Bot

Commands have been disabled on the public bot because of Discord's breaking permission changes. All functions must be done either through the current control panel at https://monitorss.xyz or the newer one at https://my.monitorss.xyz
This setup guide does not include personal feeds that is currently available on the publicly-hosted bot! Documentation on personal feeds is a work-in-progress, and will be substantially different from how the bot is currently set up.
If you're using FreeBSD, more specific instructions can be found here, provided by Ultima.
If you're using Heroku, see here (provided by Macley-Kun) or here (more complicated, but needs no credit card) (provided by codeinteger6).

Table of Contents

  1. 1.
    Requirements
  2. 2.
    Setup
  3. 3.
    Running

Requirements

  1. 1.
    Node.js v12.16 to 14

Setup

  1. 1.
    Install Node.js (must be at least v12.16).
  2. 2.
    Clone files from https://github.com/synzen/MonitoRSS-Clone/ on the master branch
  3. 3.
    Use npm install in the directory from console to install all dependencies/modules. If you see any make errors, they can be ignored since they are optional dependencies.
  4. 4.
    Create and get a bot token from https://discordapp.com/developers/applications/.
    • "Create an Application" -> Click "Bot" on the left panel -> "Add Bot" -> Set icon and username -> "Save Changes" -> Click "Copy" under Token
  5. 5.
    Set the bot token and any other changes into settings/config.bot.json. You may copy the example json file in the settings folder, and rename it to config.bot.json
  6. 6.
    Click "OAuth2" on the left panel, then check the "bot" scope and whatever other permissions at the bottom. Use the generated invite URL to invite the bot.
  7. 7.
    Configure whether the bot should use a MongoDB database. See here for the difference.
    • MongoDB - Recommended (only 64-bit systems are supported). Follow below instructions is running it locally.
      • Install MongoDB (v4.2+).
      • Start the DB server in console by mongod, or automatically on bootup (ubuntu/debian sudo systemctl enable mongod.service). It must be constantly running in the background.
    • Databaseless (if MongoDB is not possible)
      • Set the config.bot.json value of database.uri to a folder path where guild profiles will be stored.
  8. 8.
    If you intend to use Discord commands, you must enable Message Content Intent in Discord's control panel for your bot application. This is required for the beat to read and respond to Discord messages. See the image below.
    Enable message content intent

Sharding

Sharding is default behavior. If you want to explicitly define the number of shards, set config.advanced.shards.

Security Notice

Do not ever post your bot token (or files containing your bot token) anywhere where anyone else can see or access it. With the token, your bot app can be accessed by anyone and might cause your account to be banned on behalf of someone else's actions.
I am not responsible for what happens if someone gets a hold of the token that happens to be the same one you use to run this bot.

Running

Run node bot.js or nodejs bot.js.