Pop
Popii / Pop
Interface: Pop<TState, TInput, TLocals>
Section titled “Interface: Pop<TState, TInput, TLocals>”Defined in: types.ts:207
The full execution context provided to command and snap handlers.
Extends EventPop with interaction-specific members: reply(), defer(),
options (typed slash command arguments), input (schema-validated input),
and references to the raw interaction and message objects.
Use the TInput type parameter when you supply a schema to the command — the
validated result is then available as pop.input with full type inference.
Examples
Section titled “Examples”async do(pop) { await pop.reply({ embeds: [{ title: "Hello!", description: `Hey ${pop.user.username}` }], ephemeral: true });}async do(pop) { await pop.defer(); const result = await someSlowOperation(); await pop.reply(result);}Extends
Section titled “Extends”EventPop<TState,TLocals>
Extended by
Section titled “Extended by”Type Parameters
Section titled “Type Parameters”TState
Section titled “TState”TState = any
TInput
Section titled “TInput”TInput = 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:26
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”error()
Section titled “error()”error(
message):Promise<void>
Defined in: plugins/ui.ts:27
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”info()
Section titled “info()”info(
message):Promise<void>
Defined in: plugins/ui.ts:28
Parameters
Section titled “Parameters”message
Section titled “message”string
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”paginate()
Section titled “paginate()”paginate(
source,timeoutMs?):Promise<void>
Defined in: plugins/ui.ts:29
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>
Inherited from
Section titled “Inherited from”prompt()
Section titled “prompt()”prompt(
embed,buttons,timeoutMs?):Promise<string|null>
Defined in: plugins/ui.ts:30
Parameters
Section titled “Parameters”EmbedBuilder
buttons
Section titled “buttons”string[]
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<string | null>
Inherited from
Section titled “Inherited from”confirm()
Section titled “confirm()”confirm(
question,timeoutMs?):Promise<boolean>
Defined in: plugins/ui.ts:31
Parameters
Section titled “Parameters”question
Section titled “question”string
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<boolean>
Inherited from
Section titled “Inherited from”form()
Section titled “form()”form(
title,fields,timeoutMs?):Promise<Record<string,string> |null>
Defined in: plugins/ui.ts:32
Parameters
Section titled “Parameters”string
fields
Section titled “fields”timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<Record<string, string> | null>
Inherited from
Section titled “Inherited from”awaitMessage()
Section titled “awaitMessage()”awaitMessage(
timeoutMs?,promptMessageId?):Promise<any>
Defined in: plugins/ui.ts:33
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number
promptMessageId?
Section titled “promptMessageId?”string
Returns
Section titled “Returns”Promise<any>
Inherited from
Section titled “Inherited from”wizard()
Section titled “wizard()”wizard(
steps,timeoutMs?):Promise<Record<string,string> |null>
Defined in: plugins/ui.ts:34
Parameters
Section titled “Parameters”timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<Record<string, string> | null>
Inherited from
Section titled “Inherited from”joinVoice()
Section titled “joinVoice()”joinVoice():
Promise<any>
Defined in: plugins/voice.ts:12
Returns
Section titled “Returns”Promise<any>
Inherited from
Section titled “Inherited from”playAudio()
Section titled “playAudio()”playAudio(
urlOrStream):Promise<{player:any;title:string;metadata?:any; }>
Defined in: plugins/voice.ts:13
Parameters
Section titled “Parameters”urlOrStream
Section titled “urlOrStream”any
Returns
Section titled “Returns”Promise<{ player: any; title: string; metadata?: any; }>
Inherited from
Section titled “Inherited from”leaveVoice()
Section titled “leaveVoice()”leaveVoice():
Promise<void>
Defined in: plugins/voice.ts:14
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”getQueue()
Section titled “getQueue()”getQueue():
any[]
Defined in: plugins/voice.ts:15
Returns
Section titled “Returns”any[]
Inherited from
Section titled “Inherited from”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:16
Returns
Section titled “Returns”{ title: string; artist: string; duration: string; thumbnail?: string; requestedBy?: string; elapsedMs: number; elapsed: string; progress: number; } | null
Inherited from
Section titled “Inherited from”getNowPlayingCard()
Section titled “getNowPlayingCard()”getNowPlayingCard(
opts?):Promise<AttachmentBuilder|null>
Defined in: plugins/voice.ts:17
Parameters
Section titled “Parameters”accentColor?
Section titled “accentColor?”string
Returns
Section titled “Returns”Promise<AttachmentBuilder | null>
Inherited from
Section titled “Inherited from”createAttachment()
Section titled “createAttachment()”createAttachment(
path,name?):any
Defined in: types.ts:142
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”any
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”t(
key,args?):string
Defined in: types.ts:149
Parameters
Section titled “Parameters”string
Record<string, any>
Returns
Section titled “Returns”string
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”reply()
Section titled “reply()”reply(
payload):Promise<any>
Defined in: types.ts:208
Parameters
Section titled “Parameters”payload
Section titled “payload”string | { content?: string; embeds?: any[]; components?: any[]; files?: any[]; ephemeral?: boolean; }
Returns
Section titled “Returns”Promise<any>
defer()
Section titled “defer()”defer(
options?):Promise<void>
Defined in: types.ts:209
Parameters
Section titled “Parameters”options?
Section titled “options?”ephemeral?
Section titled “ephemeral?”boolean
Returns
Section titled “Returns”Promise<void>
respond()
Section titled “respond()”respond(
choices):Promise<void>
Defined in: types.ts:210
Parameters
Section titled “Parameters”choices
Section titled “choices”object[]
Returns
Section titled “Returns”Promise<void>
respondFiltered()
Section titled “respondFiltered()”respondFiltered(
choices,userInput):Promise<void>
Defined in: types.ts:211
Parameters
Section titled “Parameters”choices
Section titled “choices”object[]
userInput
Section titled “userInput”string
Returns
Section titled “Returns”Promise<void>
Properties
Section titled “Properties”ai:
object
Defined in: plugins/ai.ts:10
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>
Inherited from
Section titled “Inherited from”canvas
Section titled “canvas”canvas:
object
Defined in: plugins/canvas.ts:63
create()
Section titled “create()”create(
width,height):Promise<CanvasBuilder>
Parameters
Section titled “Parameters”number
height
Section titled “height”number
Returns
Section titled “Returns”Promise<CanvasBuilder>
nowPlayingCard()
Section titled “nowPlayingCard()”nowPlayingCard(
track,opts?):Promise<AttachmentBuilder>
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<AttachmentBuilder>
captcha
Section titled “captcha”captcha:
object
Defined in: plugins/captcha.ts:14
sendVerificationPanel()
Section titled “sendVerificationPanel()”sendVerificationPanel(
channelId):Promise<void>
Parameters
Section titled “Parameters”channelId
Section titled “channelId”string
Returns
Section titled “Returns”Promise<void>
desk:
object
Defined in: plugins/desk.ts:11
sendPanel()
Section titled “sendPanel()”sendPanel(
channelId):Promise<void>
Parameters
Section titled “Parameters”channelId
Section titled “channelId”string
Returns
Section titled “Returns”Promise<void>
closeTicket()
Section titled “closeTicket()”closeTicket():
Promise<void>
Returns
Section titled “Returns”Promise<void>
economy
Section titled “economy”economy:
object
Defined in: plugins/economy.ts:16
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>
Inherited from
Section titled “Inherited from”giveaways
Section titled “giveaways”giveaways:
object
Defined in: plugins/giveaway.ts:13
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>
Inherited from
Section titled “Inherited from”lastfm
Section titled “lastfm”lastfm:
object
Defined in: plugins/lastfm.ts:10
getAccount()
Section titled “getAccount()”getAccount(
userId):Promise<{username:string;sessionKey:string; } |null>
Parameters
Section titled “Parameters”userId
Section titled “userId”string
Returns
Section titled “Returns”Promise<{ username: string; sessionKey: string; } | null>
levels
Section titled “levels”levels:
object
Defined in: plugins/levels.ts:17
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; }>
Inherited from
Section titled “Inherited from”mongoose
Section titled “mongoose”mongoose:
__module
Defined in: plugins/mongoose.ts:10
Inherited from
Section titled “Inherited from”db:
Database
Defined in: plugins/sqlite.ts:8
Inherited from
Section titled “Inherited from”session
Section titled “session”session:
object
Defined in: plugins/ui.ts:35
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>
Inherited from
Section titled “Inherited from”sponsorblock
Section titled “sponsorblock”sponsorblock:
object
Defined in: plugins/voice.ts:18
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>
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”signal?
Section titled “signal?”
readonlyoptionalsignal?:AbortSignal
Defined in: types.ts:138
Inherited from
Section titled “Inherited from”client
Section titled “client”client:
PopiiClient<TState>
Defined in: types.ts:139
Inherited from
Section titled “Inherited from”locale
Section titled “locale”locale:
string
Defined in: types.ts:140
Inherited from
Section titled “Inherited from”log:
PopLogger
Defined in: types.ts:141
Inherited from
Section titled “Inherited from”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>
Inherited from
Section titled “Inherited from”state:
TState
Defined in: types.ts:156
Inherited from
Section titled “Inherited from”locals
Section titled “locals”locals:
TLocals
Defined in: types.ts:157
Inherited from
Section titled “Inherited from”guild:
Guild|null
Defined in: types.ts:158
Inherited from
Section titled “Inherited from”channel
Section titled “channel”channel:
TextBasedChannel|null
Defined in: types.ts:159
Inherited from
Section titled “Inherited from”user:
User
Defined in: types.ts:212
member
Section titled “member”member:
GuildMember|APIInteractionGuildMember|null
Defined in: types.ts:213
options
Section titled “options”options:
PopOptions
Defined in: types.ts:214
input:
TInput
Defined in: types.ts:215
interaction?
Section titled “interaction?”
optionalinteraction?:Interaction|MessageComponentInteraction<CacheType>
Defined in: types.ts:216
message?
Section titled “message?”
optionalmessage?:Message<boolean>
Defined in: types.ts:217
snapMatches?
Section titled “snapMatches?”
optionalsnapMatches?:RegExpMatchArray|null
Defined in: types.ts:218
snapData?
Section titled “snapData?”
optionalsnapData?:any
Defined in: types.ts:219
targetMessage?
Section titled “targetMessage?”
optionaltargetMessage?:Message<boolean> |null
Defined in: types.ts:220
targetUser?
Section titled “targetUser?”
optionaltargetUser?:User|null
Defined in: types.ts:221