An official module for interacting with the Top.gg API
yarn add @top-gg/sdk
or npm i @top-gg/sdk
The base client is Topgg.Api, and it takes your Top.gg token and provides you with plenty of methods to interact with the API.
See this tutorial on how to retrieve your API token.
You can also setup webhooks via Topgg.Webhook, look down below at the examples for how to do so!
API Reference | GitHub | NPM | Discord Server
If you're looking for an easy way to post your bot's stats (server count, shard count), check out topgg-autoposter
const client = Discord.Client(); // Your discord.js client or any other
const { AutoPoster } = require("topgg-autoposter");
AutoPoster("topgg-token", client).on("posted", () => {
console.log("Posted stats to Top.gg!");
});
With this your server count and shard count will be posted to Top.gg
const express = require("express");
const Topgg = require("@top-gg/sdk");
const app = express(); // Your express app
const webhook = new Topgg.Webhook("topggauth123"); // add your Top.gg webhook authorization (not bot token)
app.post(
"/dblwebhook",
webhook.listener((vote) => {
// vote is your vote object
console.log(vote.user); // 221221226561929217
})
); // attach the middleware
app.listen(3000); // your port
With this example, your webhook dashboard (https://top.gg/bot/{your bot's id}/webhooks
) should look like this: