-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinitCommands.js
94 lines (80 loc) · 2.58 KB
/
initCommands.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { REST, Routes } from 'discord.js';
import chalk from 'chalk';
import dotenv from 'dotenv';
dotenv.config();
import settings from './settings.json' assert { type: "json" };
async function initDiscordCommands() {
commands[1].options[0].choices = await getModels();
const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_BOT_TOKEN);
try {
console.log('Started refreshing application commands (/)');
await rest.put(Routes.applicationCommands(process.env.DISCORD_CLIENT_ID), { body: commands })
.then(() => { console.log('Successfully reloaded application commands (/)') })
.catch(e => console.log(chalk.red(e)));
console.log('Connecting to Discord Gateway...');
} catch (error) {
console.log(chalk.red(error));
}
};
async function getModels() {
let defaultModelChoices = [];
for (let i = 0; i < settings.models.length; i++) {
const modelName = settings.models[i].name;
const modelValue = settings.models[i].id;
const modelChoice = { name: modelName, value: modelValue };
defaultModelChoices.push(modelChoice);
}
return defaultModelChoices;
}
let commands = [
{
name: 'imagine',
description: 'Generate an image based on a text prompt',
dm_permission: false,
options: [
{
name: "prompt",
description: "Image Prompt",
type: 3,
required: true
},
{
name: "negative-prompt",
description: "Negative Prompt [Only For \"(4 Images) Stable Diffusion v2.1\"]",
type: 3,
required: false
}
]
},
{
name: 'settings',
description: 'View / Change Bot Settings',
dm_permission: false,
options: [
{
name: "model",
description: "Select Default Stable Diffusion Model",
type: 3,
required: false,
choices: []
},
{
name: "guidance-scale",
description: "Set Guidance Scale [Only For \"(4 Images) Stable Diffusion v2.1\" & Value between 0 and 50]",
type: 3,
min_value: 0,
max_value: 50,
required: false
}
]
},
{
name: 'ping',
description: 'Check Websocket Heartbeat && Roundtrip Latency'
},
{
name: 'help',
description: 'Get Help'
}
];
export default initDiscordCommands;