EventPop
Popii / EventPop
Interface: EventPop<TState, TLocals>
Section titled “Interface: EventPop<TState, TLocals>”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.
Example
Section titled “Example”export default event(async (pop, guild) => { pop.log.info(`Joined ${guild.name}`); pop.client.discord.guilds.cache.size; // full discord.js access});Extended by
Section titled “Extended by”Type Parameters
Section titled “Type Parameters”TState
Section titled “TState”TState = any
TLocals
Section titled “TLocals”TLocals = PopiiLocals & Record<string, any>
Methods
Section titled “Methods”success()
Section titled “success()”success(
message):Promise<void>
Defined in: plugins/ui.ts:43
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
error()
Section titled “error()”error(
message):Promise<void>
Defined in: plugins/ui.ts:44
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
info()
Section titled “info()”info(
message):Promise<void>
Defined in: plugins/ui.ts:45
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
paginate()
Section titled “paginate()”paginate(
source,timeoutMs?):Promise<void>
Defined in: plugins/ui.ts:46
Parameters
Section titled “Parameters”source
Section titled “source”EmbedBuilder[] | { fetch: (page) => Promise<EmbedBuilder | null>; totalPages?: number; }
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<void>
prompt()
Section titled “prompt()”prompt(
embed,buttons,timeoutMs?):Promise<string|null>
Defined in: plugins/ui.ts:47
Parameters
Section titled “Parameters”EmbedBuilder
buttons
Section titled “buttons”string[]
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<string | null>
confirm()
Section titled “confirm()”confirm(
question,timeoutMs?):Promise<boolean>
Defined in: plugins/ui.ts:48
Parameters
Section titled “Parameters”question
Section titled “question”string
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<boolean>
form()
Section titled “form()”form(
title,fields,timeoutMs?):Promise<Record<string,string> |null>
Defined in: plugins/ui.ts:49
Parameters
Section titled “Parameters”string
fields
Section titled “fields”timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<Record<string, string> | null>
awaitMessage()
Section titled “awaitMessage()”awaitMessage(
timeoutMs?,promptMessageId?):Promise<any>
Defined in: plugins/ui.ts:50
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number
promptMessageId?
Section titled “promptMessageId?”string
Returns
Section titled “Returns”Promise<any>
wizard()
Section titled “wizard()”wizard(
steps,timeoutMs?):Promise<Record<string,string> |null>
Defined in: plugins/ui.ts:51
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<Record<string, string> | null>
joinVoice()
Section titled “joinVoice()”joinVoice():
Promise<any>
Defined in: plugins/voice.ts:27
Returns
Section titled “Returns”Promise<any>
playAudio()
Section titled “playAudio()”playAudio(
urlOrStream):Promise<{player:any;title:string;metadata?:any; }>
Defined in: plugins/voice.ts:28
Parameters
Section titled “Parameters”urlOrStream
Section titled “urlOrStream”any
Returns
Section titled “Returns”Promise<{ player: any; title: string; metadata?: any; }>
leaveVoice()
Section titled “leaveVoice()”leaveVoice():
Promise<void>
Defined in: plugins/voice.ts:29
Returns
Section titled “Returns”Promise<void>
getQueue()
Section titled “getQueue()”getQueue():
any[]
Defined in: plugins/voice.ts:30
Returns
Section titled “Returns”any[]
getNowPlaying()
Section titled “getNowPlaying()”getNowPlaying(): {
title:string;artist:string;duration:string;thumbnail?:string;requestedBy?:string;elapsedMs:number;elapsed:string;progress:number; } |null
Defined in: plugins/voice.ts:31
Returns
Section titled “Returns”{ title: string; artist: string; duration: string; thumbnail?: string; requestedBy?: string; elapsedMs: number; elapsed: string; progress: number; } | null
getNowPlayingCard()
Section titled “getNowPlayingCard()”getNowPlayingCard(
opts?):Promise<AttachmentBuilder|null>
Defined in: plugins/voice.ts:32
Parameters
Section titled “Parameters”accentColor?
Section titled “accentColor?”string
Returns
Section titled “Returns”Promise<AttachmentBuilder | null>
createAttachment()
Section titled “createAttachment()”createAttachment(
path,name?):any
Defined in: types.ts:142
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”any
fetchJSON()
Section titled “fetchJSON()”fetchJSON<
T>(url,init?):Promise<T>
Defined in: types.ts:143
Type Parameters
Section titled “Type Parameters”T = unknown
Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<T>
fetchText()
Section titled “fetchText()”fetchText(
url,init?):Promise<string>
Defined in: types.ts:144
Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<string>
fetchBuffer()
Section titled “fetchBuffer()”fetchBuffer(
url,init?):Promise<ArrayBuffer>
Defined in: types.ts:145
Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<ArrayBuffer>
fetchForm()
Section titled “fetchForm()”fetchForm<
T>(url,data,init?):Promise<T>
Defined in: types.ts:146
Type Parameters
Section titled “Type Parameters”T = unknown
Parameters
Section titled “Parameters”string | URL | Request
FormData
RequestInit
Returns
Section titled “Returns”Promise<T>
cache()
Section titled “cache()”cache<
T>(key,ttlMs,fetcher):Promise<T>
Defined in: types.ts:147
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”string
number
fetcher
Section titled “fetcher”() => T | Promise<T>
Returns
Section titled “Returns”Promise<T>
translate()
Section titled “translate()”translate(
key,args?):string
Defined in: types.ts:148
Parameters
Section titled “Parameters”string
Record<string, any>
Returns
Section titled “Returns”string
t(
key,args?):string
Defined in: types.ts:149
Parameters
Section titled “Parameters”string
Record<string, any>
Returns
Section titled “Returns”string
pack()
Section titled “pack()”pack(
customId,data):string
Defined in: types.ts:155
Parameters
Section titled “Parameters”customId
Section titled “customId”string
any
Returns
Section titled “Returns”string
schedule()
Section titled “schedule()”schedule(
taskName,payload?,delayMs?):Promise<void>
Defined in: types.ts:160
Parameters
Section titled “Parameters”taskName
Section titled “taskName”string
payload?
Section titled “payload?”any
delayMs?
Section titled “delayMs?”number
Returns
Section titled “Returns”Promise<void>
Properties
Section titled “Properties”ai:
object
Defined in: plugins/ai.ts:16
generate()
Section titled “generate()”generate(
prompt):Promise<string>
Parameters
Section titled “Parameters”prompt
Section titled “prompt”string
Returns
Section titled “Returns”Promise<string>
chat()
Section titled “chat()”chat(
history):Promise<string>
Parameters
Section titled “Parameters”history
Section titled “history”object[]
Returns
Section titled “Returns”Promise<string>
economy
Section titled “economy”economy:
object
Defined in: plugins/economy.ts:23
currencyName
Section titled “currencyName”currencyName:
string
getProfile()
Section titled “getProfile()”getProfile(
guildId,userId):Promise<{balance:number;last_daily:number; } |null>
Parameters
Section titled “Parameters”guildId
Section titled “guildId”string
userId
Section titled “userId”string
Returns
Section titled “Returns”Promise<{ balance: number; last_daily: number; } | null>
addBalance()
Section titled “addBalance()”addBalance(
guildId,userId,amount):Promise<void>
Parameters
Section titled “Parameters”guildId
Section titled “guildId”string
userId
Section titled “userId”string
amount
Section titled “amount”number
Returns
Section titled “Returns”Promise<void>
giveaways
Section titled “giveaways”giveaways:
object
Defined in: plugins/giveaway.ts:18
start()
Section titled “start()”start(
channelId,prize,winners,durationMs):Promise<void>
Parameters
Section titled “Parameters”channelId
Section titled “channelId”string
string
winners
Section titled “winners”number
durationMs
Section titled “durationMs”number
Returns
Section titled “Returns”Promise<void>
levels
Section titled “levels”levels:
object
Defined in: plugins/levels.ts:23
getProfile()
Section titled “getProfile()”getProfile(
guildId,userId):Promise<{xp:number;level:number; } |null>
Parameters
Section titled “Parameters”guildId
Section titled “guildId”string
userId
Section titled “userId”string
Returns
Section titled “Returns”Promise<{ xp: number; level: number; } | null>
addXp()
Section titled “addXp()”addXp(
guildId,userId,amount):Promise<{leveledUp:boolean;newLevel:number; }>
Parameters
Section titled “Parameters”guildId
Section titled “guildId”string
userId
Section titled “userId”string
amount
Section titled “amount”number
Returns
Section titled “Returns”Promise<{ leveledUp: boolean; newLevel: number; }>
mongoose
Section titled “mongoose”mongoose:
__module
Defined in: plugins/mongoose.ts:13
db:
Database
Defined in: plugins/sqlite.ts:11
session
Section titled “session”session:
object
Defined in: plugins/ui.ts:52
get(
key):Promise<any>
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<any>
set(
key,value,ttlMs?):Promise<void>
Parameters
Section titled “Parameters”string
any
ttlMs?
Section titled “ttlMs?”number
Returns
Section titled “Returns”Promise<void>
del(
key):Promise<void>
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
clear()
Section titled “clear()”clear():
Promise<void>
Returns
Section titled “Returns”Promise<void>
sponsorblock
Section titled “sponsorblock”sponsorblock:
object
Defined in: plugins/voice.ts:33
isEnabled()
Section titled “isEnabled()”isEnabled():
boolean
Returns
Section titled “Returns”boolean
setEnabled()
Section titled “setEnabled()”setEnabled(
enabled):void
Parameters
Section titled “Parameters”enabled
Section titled “enabled”boolean
Returns
Section titled “Returns”void
getCategories()
Section titled “getCategories()”getCategories():
string[]
Returns
Section titled “Returns”string[]
setCategories()
Section titled “setCategories()”setCategories(
cats):void
Parameters
Section titled “Parameters”string[]
Returns
Section titled “Returns”void
forceSkip()
Section titled “forceSkip()”forceSkip():
Promise<boolean>
Returns
Section titled “Returns”Promise<boolean>
execution?
Section titled “execution?”
readonlyoptionalexecution?:object
Defined in: types.ts:137
Correlation and cancellation metadata for this execution.
id:
string
type:
"command"|"event"|"component"|"task"
definitionId
Section titled “definitionId”definitionId:
string
startedAt
Section titled “startedAt”startedAt:
number
signal?
Section titled “signal?”
readonlyoptionalsignal?:AbortSignal
Defined in: types.ts:138
client
Section titled “client”client:
PopiiClient<TState>
Defined in: types.ts:139
locale
Section titled “locale”locale:
string
Defined in: types.ts:140
log:
PopLogger
Defined in: types.ts:141
cooler
Section titled “cooler”cooler:
object
Defined in: types.ts:150
get<
T>(key):Promise<T|null>
Type Parameters
Section titled “Type Parameters”T = any
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<T | null>
set(
key,value,ttlMs?):Promise<void>
Parameters
Section titled “Parameters”string
any
ttlMs?
Section titled “ttlMs?”number
Returns
Section titled “Returns”Promise<void>
delete()
Section titled “delete()”delete(
key):Promise<void>
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
state:
TState
Defined in: types.ts:156
locals
Section titled “locals”locals:
TLocals
Defined in: types.ts:157
guild:
Guild|null
Defined in: types.ts:158
channel
Section titled “channel”channel:
TextBasedChannel|null
Defined in: types.ts:159