Skip to content

EventPop

Popii


Popii / EventPop

Defined in: types.ts:135

The base context object provided to all Popii event, command, snap, and task handlers.

Every handler receives this as its first argument. It provides the client reference, localization helpers, a shared KV store (the Cooler), request-scoped caching, structured logging, and utilities for scheduling tasks and making HTTP requests.

Commands and snaps receive the richer Pop subtype, which adds reply(), defer(), options, and other interaction-specific members.

export default event(async (pop, guild) => {
pop.log.info(`Joined ${guild.name}`);
pop.client.discord.guilds.cache.size; // full discord.js access
});

TState = any

TLocals = PopiiLocals & Record<string, any>

success(message): Promise<void>

Defined in: plugins/ui.ts:43

string

Promise<void>


error(message): Promise<void>

Defined in: plugins/ui.ts:44

string

Promise<void>


info(message): Promise<void>

Defined in: plugins/ui.ts:45

string

Promise<void>


paginate(source, timeoutMs?): Promise<void>

Defined in: plugins/ui.ts:46

EmbedBuilder[] | { fetch: (page) => Promise<EmbedBuilder | null>; totalPages?: number; }

number

Promise<void>


prompt(embed, buttons, timeoutMs?): Promise<string | null>

Defined in: plugins/ui.ts:47

EmbedBuilder

string[]

number

Promise<string | null>


confirm(question, timeoutMs?): Promise<boolean>

Defined in: plugins/ui.ts:48

string

number

Promise<boolean>


form(title, fields, timeoutMs?): Promise<Record<string, string> | null>

Defined in: plugins/ui.ts:49

string

FormField[]

number

Promise<Record<string, string> | null>


awaitMessage(timeoutMs?, promptMessageId?): Promise<any>

Defined in: plugins/ui.ts:50

number

string

Promise<any>


wizard(steps, timeoutMs?): Promise<Record<string, string> | null>

Defined in: plugins/ui.ts:51

WizardStep[]

number

Promise<Record<string, string> | null>


joinVoice(): Promise<any>

Defined in: plugins/voice.ts:27

Promise<any>


playAudio(urlOrStream): Promise<{ player: any; title: string; metadata?: any; }>

Defined in: plugins/voice.ts:28

any

Promise<{ player: any; title: string; metadata?: any; }>


leaveVoice(): Promise<void>

Defined in: plugins/voice.ts:29

Promise<void>


getQueue(): any[]

Defined in: plugins/voice.ts:30

any[]


getNowPlaying(): { title: string; artist: string; duration: string; thumbnail?: string; requestedBy?: string; elapsedMs: number; elapsed: string; progress: number; } | null

Defined in: plugins/voice.ts:31

{ title: string; artist: string; duration: string; thumbnail?: string; requestedBy?: string; elapsedMs: number; elapsed: string; progress: number; } | null


getNowPlayingCard(opts?): Promise<AttachmentBuilder | null>

Defined in: plugins/voice.ts:32

string

Promise<AttachmentBuilder | null>


createAttachment(path, name?): any

Defined in: types.ts:142

string

string

any


fetchJSON<T>(url, init?): Promise<T>

Defined in: types.ts:143

T = unknown

string | URL | Request

RequestInit

Promise<T>


fetchText(url, init?): Promise<string>

Defined in: types.ts:144

string | URL | Request

RequestInit

Promise<string>


fetchBuffer(url, init?): Promise<ArrayBuffer>

Defined in: types.ts:145

string | URL | Request

RequestInit

Promise<ArrayBuffer>


fetchForm<T>(url, data, init?): Promise<T>

Defined in: types.ts:146

T = unknown

string | URL | Request

FormData

RequestInit

Promise<T>


cache<T>(key, ttlMs, fetcher): Promise<T>

Defined in: types.ts:147

T

string

number

() => T | Promise<T>

Promise<T>


translate(key, args?): string

Defined in: types.ts:148

string

Record<string, any>

string


t(key, args?): string

Defined in: types.ts:149

string

Record<string, any>

string


pack(customId, data): string

Defined in: types.ts:155

string

any

string


schedule(taskName, payload?, delayMs?): Promise<void>

Defined in: types.ts:160

string

any

number

Promise<void>

ai: object

Defined in: plugins/ai.ts:16

generate(prompt): Promise<string>

string

Promise<string>

chat(history): Promise<string>

object[]

Promise<string>


economy: object

Defined in: plugins/economy.ts:23

currencyName: string

getProfile(guildId, userId): Promise<{ balance: number; last_daily: number; } | null>

string

string

Promise<{ balance: number; last_daily: number; } | null>

addBalance(guildId, userId, amount): Promise<void>

string

string

number

Promise<void>


giveaways: object

Defined in: plugins/giveaway.ts:18

start(channelId, prize, winners, durationMs): Promise<void>

string

string

number

number

Promise<void>


levels: object

Defined in: plugins/levels.ts:23

getProfile(guildId, userId): Promise<{ xp: number; level: number; } | null>

string

string

Promise<{ xp: number; level: number; } | null>

addXp(guildId, userId, amount): Promise<{ leveledUp: boolean; newLevel: number; }>

string

string

number

Promise<{ leveledUp: boolean; newLevel: number; }>


mongoose: __module

Defined in: plugins/mongoose.ts:13


db: Database

Defined in: plugins/sqlite.ts:11


session: object

Defined in: plugins/ui.ts:52

get(key): Promise<any>

string

Promise<any>

set(key, value, ttlMs?): Promise<void>

string

any

number

Promise<void>

del(key): Promise<void>

string

Promise<void>

clear(): Promise<void>

Promise<void>


sponsorblock: object

Defined in: plugins/voice.ts:33

isEnabled(): boolean

boolean

setEnabled(enabled): void

boolean

void

getCategories(): string[]

string[]

setCategories(cats): void

string[]

void

forceSkip(): Promise<boolean>

Promise<boolean>


readonly optional execution?: object

Defined in: types.ts:137

Correlation and cancellation metadata for this execution.

id: string

type: "command" | "event" | "component" | "task"

definitionId: string

startedAt: number


readonly optional signal?: AbortSignal

Defined in: types.ts:138


client: PopiiClient<TState>

Defined in: types.ts:139


locale: string

Defined in: types.ts:140


log: PopLogger

Defined in: types.ts:141


cooler: object

Defined in: types.ts:150

get<T>(key): Promise<T | null>

T = any

string

Promise<T | null>

set(key, value, ttlMs?): Promise<void>

string

any

number

Promise<void>

delete(key): Promise<void>

string

Promise<void>


state: TState

Defined in: types.ts:156


locals: TLocals

Defined in: types.ts:157


guild: Guild | null

Defined in: types.ts:158


channel: TextBasedChannel | null

Defined in: types.ts:159