-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommands.go
More file actions
94 lines (89 loc) · 1.95 KB
/
commands.go
File metadata and controls
94 lines (89 loc) · 1.95 KB
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
package main
import dg "github.com/bwmarrin/discordgo"
const (
JSModeOption int = 1
SessionModeOption int = 2
)
const (
PythonLanguageOption int = 1
JSLanguageOption int = 2
)
var (
commands = []*dg.ApplicationCommand{
{
Name: "start",
Description: "Start your session",
Options: []*dg.ApplicationCommandOption{
{
Name: "language",
Description: "Language to use",
Required: true,
Type: dg.ApplicationCommandOptionInteger,
Choices: []*dg.ApplicationCommandOptionChoice{
{
Name: "javascript",
Value: JSLanguageOption,
},
},
},
},
},
{
Name: "end",
Description: "End your session",
},
{
Name: "evaluate",
Description: "Evaluate a string in your session, or just evaluate a single string.",
Options: []*dg.ApplicationCommandOption{
{
Name: "mode",
Description: "Language to use or evaluate in session",
Type: dg.ApplicationCommandOptionInteger,
Required: true,
Choices: []*dg.ApplicationCommandOptionChoice{
{
Name: "javascript",
Value: JSModeOption,
},
{
Name: "session",
Value: SessionModeOption,
},
},
},
{
Name: "code",
Description: "Code to evaluate/run",
Type: dg.ApplicationCommandOptionString,
Required: true,
},
},
},
{
Name: "info",
Description: "Bot info",
},
{
Name: "help",
Description: "Help menu",
},
{
Name: "history",
Description: "Session history",
},
{
Name: "clear",
Description: "Clears the history of a session",
},
}
command_handlers = map[string]func(s *dg.Session, i *dg.InteractionCreate){
"evaluate": handle_eval,
"end": handle_end,
"start": handle_start,
"info": handle_info,
"help": handle_help,
"history": handle_history,
"clear": handle_clear,
}
)