Skip to content

jzeuzs/sapphire-plugin-botlist

Repository files navigation

@devtomio/plugin-botlist

Plugin for @sapphire/framework to post stats to several discord bot lists.

GitHub npm

Description

This plugin enables the integration of many bot lists such as Top.gg, Discord Labs, and others.

Features

  • Fully ready for TypeScript!
  • Includes ESM ready entrypoint
  • Easy to use
  • Auto-detection of enabled sites

Installation

@devtomio/plugin-botlist depends on the following packages. Be sure to install these along with this package!

You can use the following command to install this package, or replace npm install with your package manager of choice.

npm install @devtomio/plugin-botlist @sapphire/framework discord.js

Usage

JavaScript

In your main or setup file, register the plugin:

require('@devtomio/plugin-botlist/register');
require('@devtomio/plugin-botlist/register');

const client = new SapphireClient({
	/* your bot options */
	botList: {
		clientId: 'YOUR_CLIENT_ID', // Optional; by default it is the bot's id
		debug: false, // (Optional), shows debug messages; by default it is false
		shard: false, // (Optional), enable sharding support; by default it is false
		autoPost: {
			enabled: true, // (Optional); by default it is enabled
			interval: 3_600_000 // (Optional); by default it is set to 1 hour
		},
		keys: {
			topGG: 'YOUR_AWESOME_TOP_GG_API_KEY' // Your top.gg API key (a list will be found below)
		}
	}
});

async function main() {
	await client.login();
}

void main();

TypeScript

In your main or setup file, register the plugin:

import '@devtomio/plugin-botlist/register';
import '@devtomio/plugin-botlist/register';

const client = new SapphireClient({
	/* your bot options */
	botList: {
		clientId: 'YOUR_CLIENT_ID', // Optional; by default it is the bot's id
		debug: false, // (Optional), shows debug messages; by default it is false
		shard: false, // (Optional), enable sharding support; by default it is false
		autoPost: {
			enabled: true, // (Optional); by default it is enabled
			interval: 3_600_000 // (Optional); by default it is set to 1 hour
		},
		keys: {
			topGG: 'YOUR_AWESOME_TOP_GG_API_KEY' // Your top.gg API key (a list will be found below)
		}
	}
});

async function main() {
	await client.login();
}

void main();

If you enable the autoPost option, the plugin will automatically publish the data for you; you don't need to do anything else!

List of Supported Sites

Contributors

Thank you to all the people who already contributed to this project!