Files
1800queue/dist/discord.js

71 lines
1.9 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerCommands = void 0;
const rest_1 = require("@discordjs/rest");
const v9_1 = require("discord-api-types/v9");
// list of commands to register with discord
const commands = [
{
name: 'queue',
description: 'create a queue',
options: [
{
type: 4,
name: 'teamsize',
description: 'size of each team',
required: true,
min_value: 1
}
]
},
{
name: 'join',
description: 'join the active queue'
},
{
name: 'leave',
description: 'leave the active queue'
},
{
name: 'ready',
description: 'ready the queue and display team info'
},
{
name: 'cancel',
description: 'cancels the current queue (must have the Manage Messages permission)'
},
{
name: 'player',
description: 'display player information',
options: [
{
type: 3,
name: 'username',
description: 'in game name or UniteApi short link',
required: true
}
]
}
];
/**
* register/reload commands on guild(s)
* @param token discord bot token
* @param clientId discord bot client id
* @param guildIds discord guild id(s)
*/
async function registerCommands(token, clientId, guildIds) {
const rest = new rest_1.REST({ version: '9' }).setToken(token);
if (typeof guildIds === 'string')
guildIds = [guildIds];
for (let i = 0; i < guildIds.length; i++) {
try {
await rest.put(v9_1.Routes.applicationGuildCommands(clientId, guildIds[i]), { body: commands });
console.log(`[${guildIds[i]}] registered command`);
}
catch (error) {
console.error(error);
}
}
}
exports.registerCommands = registerCommands;