# 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](/configuration/bot-configuration/schedules.md) 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
}


```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.monitorss.xyz/setting-up/existing-bot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
