dbl-api

1.2.1 • Public • Published

DBL-API

NPM Discord

Setup

Installation

npm i dbl-api

Getting an API Token

Once signed into DBL, head over to https://discordbots.org/api/docs#mybots and get your API key for your bot.

Accepting WebHook Requests

The main purpose for this library is to support DBL's new webhook feature.

To activate the webhook, navigate to the edit section of your bot and set the webhook URL to something that points to your bot's server. This could even be the bot's IP.

First, you obviously need to instantiate the API client with the port option. By default, the path is /, but you should make this some random string so that users will not be able to post random data if they happen to find the bot's port. Obviously, you'd need to match the path with whatever is on your bot. Make sure that the port is port forwarded (it usually is on most hosts).

const DiscordBotListAPI = require('dbl-api');
const api = new DiscordBotListAPI({ port: 8080, path: '/some_insanely_secret_path' });

The server will now listen on port 8080 and accept POST requests on /some_insanely_secret_path. The API uses the EventEmitter so now you can do

api.on('upvote', (user, bot) => console.log(`Upvote by ${user} for bot ${bot}`));
api.on('unvote', (user, bot) => console.log(`Unvote by ${user} for bot ${bot}`));

If you're already using express, you can do the following:

const express = require('express');
const app = express();
 
const DiscordBotListAPI = require('dbl-api');
const api = new DiscordBotListAPI();
 
app.post('/some_insanely_secret_path', api.handler);
 
app.listen(8080);

And then use the same listeners

api.on('upvote', (user, bot) => console.log(`Upvote by ${user} for bot ${bot}`));
api.on('unvote', (user, bot) => console.log(`Unvote by ${user} for bot ${bot}`));

If you're stuck, feel free to ask for help on my Discord Server.

Package Sidebar

Install

npm i dbl-api

Weekly Downloads

73

Version

1.2.1

License

MIT

Unpacked Size

20.4 kB

Total Files

12

Last publish

Collaborators

  • lloti