summaryrefslogtreecommitdiff
path: root/src/commands.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-09-07 02:28:34 -0700
committerFuwn <[email protected]>2025-09-07 02:28:34 -0700
commit188c714f43635fb57eac70b167dba682d6b93a2f (patch)
tree28a5bc64a6a8efd78c19cdaa666b98e42d3b90b5 /src/commands.ts
parentfeat: Add top command (diff)
downloadumabotdiscord-188c714f43635fb57eac70b167dba682d6b93a2f.tar.xz
umabotdiscord-188c714f43635fb57eac70b167dba682d6b93a2f.zip
build: Switch to TypeScript
Diffstat (limited to 'src/commands.ts')
-rw-r--r--src/commands.ts76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/commands.ts b/src/commands.ts
new file mode 100644
index 0000000..56d4321
--- /dev/null
+++ b/src/commands.ts
@@ -0,0 +1,76 @@
+export interface DiscordCommand {
+ name: string;
+ description: string;
+ options?: DiscordCommandOption[];
+}
+
+export interface DiscordCommandOption {
+ type: number;
+ name: string;
+ description: string;
+ required?: boolean;
+ choices?: DiscordCommandChoice[];
+}
+
+export interface DiscordCommandChoice {
+ name: string;
+ value: string;
+}
+
+export type TimePeriod = 'hour' | 'day' | 'week' | 'month' | 'year' | 'all';
+
+export const HOT_COMMAND: DiscordCommand = {
+ name: 'hot',
+ description: 'Fetch a random hot post from r/okbuddyumamusume',
+};
+
+export const ROLEPLAY_COMMAND: DiscordCommand = {
+ name: 'roleplay',
+ description: 'Fetch a random hot roleplay post from r/okbuddyumamusume',
+};
+
+export const NSFW_COMMAND: DiscordCommand = {
+ name: 'nsfw',
+ description:
+ 'Fetch a random NSFW post from r/okbuddyumamusume (NSFW channels only)',
+};
+
+export const TOP_COMMAND: DiscordCommand = {
+ name: 'top',
+ description:
+ 'Fetch a random top post from r/okbuddyumamusume (defaults to today)',
+ options: [
+ {
+ type: 3,
+ name: 'time',
+ description: 'Time period for top posts (defaults to today)',
+ required: false,
+ choices: [
+ {
+ name: 'Now',
+ value: 'hour',
+ },
+ {
+ name: 'Today',
+ value: 'day',
+ },
+ {
+ name: 'This Week',
+ value: 'week',
+ },
+ {
+ name: 'This Month',
+ value: 'month',
+ },
+ {
+ name: 'This Year',
+ value: 'year',
+ },
+ {
+ name: 'All Time',
+ value: 'all',
+ },
+ ],
+ },
+ ],
+};