diff options
| author | Fuwn <[email protected]> | 2025-09-07 02:28:34 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-09-07 02:28:34 -0700 |
| commit | 188c714f43635fb57eac70b167dba682d6b93a2f (patch) | |
| tree | 28a5bc64a6a8efd78c19cdaa666b98e42d3b90b5 /src/commands.ts | |
| parent | feat: Add top command (diff) | |
| download | umabotdiscord-188c714f43635fb57eac70b167dba682d6b93a2f.tar.xz umabotdiscord-188c714f43635fb57eac70b167dba682d6b93a2f.zip | |
build: Switch to TypeScript
Diffstat (limited to 'src/commands.ts')
| -rw-r--r-- | src/commands.ts | 76 |
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', + }, + ], + }, + ], +}; |