# discord.js-docs

> A discord.js docs parser and wrapper.

Latest version **0.4.3** (published 2024-12-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install discord.js-docs
pnpm add discord.js-docs
yarn add discord.js-docs
bun add discord.js-docs
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 0.4.3 |
| Published | 2024-12-16 |
| First published | 2018-07-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 42.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 12 |
| Author | TeeSeal |
| Maintainers | teeseal |

## Links

- npm: https://www.npmjs.com/package/discord.js-docs
- Repository: https://github.com/TeeSeal/discord.js-docs
- Homepage: https://github.com/TeeSeal/discord.js-docs#readme
- Issues: https://github.com/TeeSeal/discord.js-docs/issues
- npm.io page: https://npm.io/package/discord.js-docs

## Dependencies (3)

- [fuse.js](https://npm.io/package/fuse.js.md) ^7.0.0
- [common-tags](https://npm.io/package/common-tags.md) ^1.8.2
- [discord-api-types](https://npm.io/package/discord-api-types.md) ^0.37.109

## Recent versions

- 0.4.3 (latest) — 2024-12-16
- 0.4.2 — 2024-11-28
- 0.4.1 — 2024-11-28
- 0.4.0 — 2024-11-28
- 0.3.0 — 2022-04-13
- 0.2.5 — 2022-04-04
- 0.2.4 — 2022-04-04
- 0.2.2 — 2022-01-23
- 0.2.1 — 2022-01-22
- 0.2.0 — 2022-01-22
- 0.1.2 — 2019-09-25
- 0.1.1 — 2019-09-13
- 0.1.0 — 2019-09-13
- 0.0.12 — 2019-07-14
- 0.0.11 — 2019-03-24
- … 10 more at https://npm.io/package/discord.js-docs/versions

## README

## discord.js docs

A parser and wrapper for the [discord.js](https://github.com/discordjs/discord.js) docs.

## Usage

### Doc

```js
const Doc = require('discord.js-docs')
```

### Doc.fetch(sourceName[, options])
Fetches and parses the docs for the given project.\
`sourceName` can be any of the predefined values (`stable`, `main`, `commando`, `rpc`, `akairo`, `collection`, `builders`, `voice` and `rest`)
or an URL which will return the raw generated docs (e.g https://raw.githubusercontent.com/discordjs/docs/main/discord.js/main.json ).\
Once a documentation is fetched it will be cached. Use `options.force` to avoid this behavior.

**Params**:

|name       |type  |required|
|:---------:|:----:|:------:|
|sourceName |string|yes     |
|options    |object|no      |

**Returns**: `Promise<Doc?>`

```js
const doc = await Doc.fetch('main')
const doc = await Doc.fetch('akairo', { force: true })
const doc = await Doc.fetch(
  'https://raw.githubusercontent.com/discordjs/rpc/docs/master.json',
  { force: true }
)
```

### Doc#get(parent[, child1[ ...[, childN]]])
Gets documention for one element. Multiple properties/methods can be chained.
**Params**:

|name       |type  |required|
|:---------:|:----:|:------:|
|parent     |string|yes     |
|...children|string|no      |

**Returns**: `DocElement?`

```js
doc.get('message')
doc.get('message', 'guild')
doc.get('message', 'guild', 'members')
```

### Doc#search(query)
Searches the documentation using fuzzy search for the given query and returns top 10 hits.

**Params**:

|name   |type  |required|
|:-----:|:----:|:------:|
|query  |string|yes     |

**Returns**: `Array<DocElement>?`

### Doc#resolveEmbed(query)
Tries to resolve the query into a `DocElement` using `Doc#get`. The search terms are expected to be separated by `#` or `.`, example: `message#pin`. If an element cannot be resolved, falls back to `Doc#search`. The result is then formatted into an object representing a Discord embed which can be sent directly to a Discord channel.

**Params**:

|name   |type  |required|
|:-----:|:----:|:------:|
|query  |string|yes     |

**Returns**: `object?`

### DocElement
#### Properties:
- `doc` - the Doc this element originates from;
- `docType` - the type of this documentation element. One of `class`, `event`, `interface`, `method`, `param`, `prop` and `typedef`;
- `parent` - parent element if present;
- `name` - self-explanatory;
- `description` - self-explanatory;
- `meta` - any meta information if present;
- `returns` - the type this element returns, if applicable;
- `examples` - code examples, if any;
- `type` - the JS type of this element, if applicable;
- `nullable` - tells whether this element can be null;
- `deprecated` - tells whether this element has been deprecated;
- `access` - access level for this element. Defaults to `public`;

---
_Source: https://npm.io/package/discord.js-docs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
