discordthings-api
v1.1.6
Published
Official API Wrapper for DiscordThings.com
Downloads
53
Maintainers
Readme
DiscordThings API Wrapper
The official Node.js library for interacting with the DiscordThings.com API. Efficiently manage your bot's stats, synchronize slash commands, and verify user votes with a modern, promise-based wrapper.
Features
- Post Stats: Keep your bot's server and shard count up to date.
- Vote Verification: Reward your users by checking if they've voted for your bot.
- Command Sync: Push your bot's Slash Commands directly to our platform for better visibility.
- Lightweight: Zero dependencies (only
axios).
Installation
npm install discordthings-apiQuick Start
First, obtain your API Token from your Developer Profile on DiscordThings.
const DiscordThings = require('discordthings-api');
// Initialize the client
const dthings = new DiscordThings('YOUR_USER_API_TOKEN');
const BOT_ID = '123456789012345678'; // Your Bot ID1. Update Server Count
async function updateStats() {
try {
await dthings.postStats(BOT_ID, 1250, 0, 50000, [
{ name: "play", count: 120 },
{ name: "profile", count: 50 },
]);
console.log('Stats updated on DiscordThings!');
} catch (err) {
console.error('Error updating stats:', err.message);
}
}2. Verify Votes
async function checkVote(userId) {
try {
const result = await dthings.checkVote(BOT_ID, userId);
if (result.voted) {
console.log('User has voted!');
} else {
console.log('User hasn\'t voted in the last 12 hours.');
}
} catch (err) {
console.error('Error checking vote:', err.message);
}
}3. Sync Slash Commands
async function syncCommands() {
const commands = [
{
name: 'ping',
description: 'Check bot latency',
type: 1 // Chat Input
},
{
name: 'help',
description: 'Get list of commands',
options: [{ name: 'cmd', description: 'Command to check', type: 3 }]
}
];
try {
await dthings.syncCommands(BOT_ID, commands);
console.log('Commands synced successfully!');
} catch (err) {
console.error('Sync failed:', err.message);
}
}API Reference
new DiscordThings(token, [options])
token(String): Your personal API Token.options.baseUrl(String): Override default API endpoint.
postStats(botId, serverCount, [shardCount], [userCount], [commandStats])
- Updates the bot's server and shard presence.
userCount: Total user count (Number).commandStats: Array of{ name, count }.- Returns
Promise<Object>.
checkVote(botId, userId)
- Checks for a valid vote cast within the last 12 hours.
- Returns
Promise<{ voted: Boolean, lastVote: Date, nextVote: Date }>.
syncCommands(botId, commands)
- Synchronizes your bot's command list with the platform.
commands: Array of Command Objects (name, description, options, type).- Returns
Promise<Object>.
Built with love by the DiscordThings Team.
