-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeploy-commands.js
30 lines (25 loc) · 1.21 KB
/
deploy-commands.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// discord.js v14では、下記のようにRESTとRoutesはdiscord.jsパッケージから直接インポートできる
const { REST, Routes } = require('discord.js');
// test.jsのmodule.exportsを呼び出す
const testFile = require('./commands/test.js');
const taskFile = require('./commands/task.js');
const forceFile = require('./commands/force.js');
const pollFile = require('./commands/poll.js');
// 環境変数としてapplicationId, guildId, tokenの3つが必要
const { applicationId, guildId, token } = require('./config.json');
// 登録コマンドを呼び出してリスト形式で登録
const commands = [testFile.data.toJSON(), taskFile.data.toJSON(), forceFile.data.toJSON(), pollFile.data.toJSON()];
// DiscordのAPIには現在最新のversion10を指定
const rest = new REST({ version: '10' }).setToken(token);
// Discordサーバーにコマンドを登録
(async () => {
try {
await rest.put(
Routes.applicationGuildCommands(applicationId, guildId),
{ body: commands },
);
console.log('サーバー固有のコマンドが登録されました!');
} catch (error) {
console.error('コマンドの登録中にエラーが発生しました:', error);
}
})();