# Existing Bot/NPM

{% hint style="danger" %}
This documentation site is deprecated. Please visit the README of <https://github.com/synzen/MonitoRSS> for hosting instructions.
{% endhint %}

## Running the Bot

### Simple Way

[Setup](https://github.com/synzen/Discord.RSS/wiki/Setup) the bot and use the same bot token.

### Programmatically

Install `monitorss`:

```
npm install monitorss
```

or directly from dev branch for the latest updates via the format `npm install author/repo#branch`:

```
npm install synzen/monitorss#dev
```

```javascript
const MonitoRSS = require('monitorss')

const options = {
  setPresence: true,
  // Config format is same as config.json
  config: {
    bot: {
      token: "abc123"
    }
  }
}

const drss = new MonitoRSS.ClientManager(options)
drss.start()
```

#### ClientManager Options

An object can be passed in as the first parameter of `ClientManager`,&#x20;

| Name          | Type    | Description                                                                                   |
| ------------- | ------- | --------------------------------------------------------------------------------------------- |
| `setPresence` | Boolean | Set the bot's presence (online, dnd, etc.)                                                    |
| `schedules`   | Object  | Custom schedules to put certain URLs on a different retrieval cycle. See below for more info. |
| `config`      | String  | Configuration object whose structure matches that of config.bot.json.                         |

**Custom Schedules**

[Custom schedules](https://docs.monitorss.xyz/configuration/bot-configuration/schedules) is passed as an object of objects in the format of

```javascript
{
    feed43: {
        refreshRateMinutes: 60,
        keywords: ["feed43"]
    },
    otherName: {
        refreshRateMinutes: 30,
        keywords: ["other", "words"]
    }
]
```

## Using Structures

If you don't want to run the bot and just want to have access to its structures:

```javascript
npm install monitorss
```

```javascript
const Feed = require('monitorss').Feed

async function myfunc() {
    await MonitoRSS.setupModels(mongoURI, mongoOptions)
    // Do what you want with Feed now
}


```
