aboutsummaryrefslogtreecommitdiff
path: root/modules/registers.js
blob: f2f13c702a7c54b5baf3523a049b6b6e2ba3ea7b (plain)
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
const { SlashCommandBuilder, SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandBuilder } = require('@discordjs/builders');
const fs = require('fs');

let episodesCmd = new SlashCommandBuilder()
    .setName("episode")
    .setDescription("Gets info about a series' episode")

for (let series of JSON.parse(fs.readFileSync("./data/series.json").toString())) {
    let command = new SlashCommandSubcommandBuilder()
        .setName(series.command.toLowerCase())
        .setDescription("Gets info about a series' episode · " + series.title + " (" + series.date + ")")
        .addStringOption(s =>
            s.setName("episode")
                .setDescription("The episode to search for")
                .setRequired(true)
                .setAutocomplete(true)
        )

    episodesCmd.addSubcommand(command)
}

module.exports = [
    new SlashCommandBuilder()
        .setName('pony')
        .setDescription("Searches for a pony")
        .addStringOption(option =>
            option.setName("query")
                .setDescription("The pony to search for")
                .setRequired(true)
                .setAutocomplete(true)
        ),
    new SlashCommandBuilder()
        .setName('info')
        .setDescription("Gets stats and info about the bot"),
    new SlashCommandBuilder()
        .setName('help')
        .setDescription("Gets help about how to use the bot"),
    new SlashCommandBuilder()
        .setName('random')
        .setDescription("Picks a random pony"),
    episodesCmd,
    new SlashCommandBuilder()
        .setName('config')
        .setDescription("Configure all aspects of the bot")
        .addSubcommand(subcommand =>
            subcommand.setName('lang')
                .setDescription("Changes the bot's language")
                .addStringOption(option =>
                    option.setName('locale')
                        .setDescription('The selected language')
                        .setRequired(true)
                        .addChoice('Français', 'fr')
                        .addChoice('English', 'en')
                )
        )
        .addSubcommand(subcommand =>
            subcommand.setName('spoilers')
                .setDescription("Enable, disable or hide spoilers in replies")
                .addStringOption(option =>
                    option.setName('status')
                        .setDescription('Value')
                        .setRequired(true)
                        .addChoice('Always show spoilers', 'yes')
                        .addChoice('Show under spoiler tags (default)', 'hide')
                        .addChoice('Never show spoilers', 'no')
                )
        )
        .addSubcommand(subcommand =>
            subcommand.setName('serverlang')
                .setDescription("Changes the bot's language on this server")
                .addStringOption(option =>
                    option.setName('locale')
                        .setDescription('The selected language')
                        .setRequired(true)
                        .addChoice('Français', 'fr')
                        .addChoice('English', 'en')
                        .addChoice('User prefered language (default)', 'off')
                )
        )
]