From 188c714f43635fb57eac70b167dba682d6b93a2f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 7 Sep 2025 02:28:34 -0700 Subject: build: Switch to TypeScript --- src/commands.ts | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/commands.ts (limited to 'src/commands.ts') 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', + }, + ], + }, + ], +}; -- cgit v1.2.3