About
in package
implements
Module
uses
InteractionTrait
`/about` (where the data comes from, how fresh it is, how the bot is doing), `/invite` (add the bot to a server or to your account) and `/ping`.
Tags
Table of Contents
Interfaces
- Module
- A self-contained bot feature, as in Tutelar: it declares its own application commands ({@see commands()}, which the client registers or updates), listens for them, and routes clicks on the components of the messages it sends, from {@see boot()}.
Constants
- PERMISSIONS : int = 1024 | 2048 | 16384 | 32768 | 65536 | 262144
- What the bot needs in a server: View Channel, Send Messages, Embed Links, Attach Files, Read Message History, Use External Emojis.
Properties
- $latency : float|null
- The last gateway round trip, in milliseconds.
Methods
- boot() : void
- Registers commands and listeners. Called once, after the gateway and the application are ready.
- commands() : array<string|int, CommandBuilder>
- The application commands the module answers, as they should be registered. The client creates missing ones and updates changed ones.
- duration() : string
- "3 days, 4 hours" — the two largest units.
- invite() : MessageBuilder
- `/invite`: links to add the bot to a server, or to your account to use it anywhere.
- name() : string
- Stable short name, for logs.
- serverInvite() : string
- The server install link.
- userInvite() : string
- The user install link.
- answer() : PromiseInterface
- Answers a component click with a new message, or by replacing the clicked message, logging what fails.
- choices() : array<string|int, array{name: string, value: string}>
- Autocomplete choices from `value => label` (or a list of values).
- command() : CommandBuilder
- A chat command usable in servers, the bot's DMs and group DMs, from a server install or a user install.
- failure() : MessageBuilder
- The message for a failure.
- hidden() : Option
- The `hidden` option every command takes: reply only to the caller.
- option() : Option
- A command option.
- reply() : PromiseInterface
- Defers the reply, then answers with what `$work` resolves to. A failure answers too: a bad search is the caller's to fix, anything else is logged.
- subcommand() : Option
- A sub-command with its options.
- typed() : array<string, mixed>
- The values typed so far into the command being autocompleted, from inside its sub-command.
- values() : array<string, mixed>
- Option values by name.
- about() : PromiseInterface<string|int, MessageBuilder>
- `/about`.
- clientId() : string
- The application's id.
Constants
PERMISSIONS
What the bot needs in a server: View Channel, Send Messages, Embed Links, Attach Files, Read Message History, Use External Emojis.
public
int
PERMISSIONS
= 1024 | 2048 | 16384 | 32768 | 65536 | 262144
Properties
$latency
The last gateway round trip, in milliseconds.
private
float|null
$latency
= null
Methods
boot()
Registers commands and listeners. Called once, after the gateway and the application are ready.
public
boot(MTG $mtg) : void
Parameters
- $mtg : MTG
Tags
commands()
The application commands the module answers, as they should be registered. The client creates missing ones and updates changed ones.
public
commands(MTG $mtg) : array<string|int, CommandBuilder>
Parameters
- $mtg : MTG
Tags
Return values
array<string|int, CommandBuilder>duration()
"3 days, 4 hours" — the two largest units.
public
static duration(int $seconds) : string
Parameters
- $seconds : int
Return values
stringinvite()
`/invite`: links to add the bot to a server, or to your account to use it anywhere.
public
static invite(MTG $mtg) : MessageBuilder
Parameters
- $mtg : MTG
Return values
MessageBuildername()
Stable short name, for logs.
public
name() : string
Tags
Return values
stringserverInvite()
The server install link.
public
static serverInvite(MTG $mtg) : string
Parameters
- $mtg : MTG
Return values
stringuserInvite()
The user install link.
public
static userInvite(MTG $mtg) : string
Parameters
- $mtg : MTG
Return values
stringanswer()
Answers a component click with a new message, or by replacing the clicked message, logging what fails.
protected
static answer(MTG $mtg, Interaction $interaction, callable $work[, bool $update = false ]) : PromiseInterface
Parameters
- $mtg : MTG
- $interaction : Interaction
- $work : callable
-
Returns a MessageBuilder or a promise of one.
- $update : bool = false
-
Replace the clicked message instead of answering with a new, hidden one.
Return values
PromiseInterfacechoices()
Autocomplete choices from `value => label` (or a list of values).
protected
static choices(array<string|int, mixed> $choices) : array<string|int, array{name: string, value: string}>
Parameters
- $choices : array<string|int, mixed>
Return values
array<string|int, array{name: string, value: string}>command()
A chat command usable in servers, the bot's DMs and group DMs, from a server install or a user install.
protected
static command(string $name, string $description) : CommandBuilder
Parameters
- $name : string
- $description : string
Return values
CommandBuilderfailure()
The message for a failure.
protected
static failure(MTG $mtg, Throwable $e) : MessageBuilder
Parameters
- $mtg : MTG
- $e : Throwable
Return values
MessageBuilderhidden()
The `hidden` option every command takes: reply only to the caller.
protected
static hidden(MTG $mtg) : Option
Parameters
- $mtg : MTG
Return values
Optionoption()
A command option.
protected
static option(MTG $mtg, int $type, string $name, string $description[, bool $required = false ][, bool $autocomplete = false ]) : Option
Parameters
- $mtg : MTG
- $type : int
-
An Option type constant.
- $name : string
- $description : string
- $required : bool = false
- $autocomplete : bool = false
Return values
Optionreply()
Defers the reply, then answers with what `$work` resolves to. A failure answers too: a bad search is the caller's to fix, anything else is logged.
protected
static reply(MTG $mtg, Interaction $interaction, bool $hidden, callable $work) : PromiseInterface
Parameters
- $mtg : MTG
- $interaction : Interaction
- $hidden : bool
-
Whether only the caller sees the answer.
- $work : callable
-
Returns a MessageBuilder or a promise of one.
Return values
PromiseInterfacesubcommand()
A sub-command with its options.
protected
static subcommand(MTG $mtg, string $name, string $description, Option ...$options) : Option
Parameters
- $mtg : MTG
- $name : string
- $description : string
- $options : Option
Return values
Optiontyped()
The values typed so far into the command being autocompleted, from inside its sub-command.
protected
static typed(Interaction $interaction) : array<string, mixed>
Parameters
- $interaction : Interaction
Return values
array<string, mixed>values()
Option values by name.
protected
static values(iterable<string|int, mixed> $options) : array<string, mixed>
Parameters
- $options : iterable<string|int, mixed>
-
The options a command handler is given.
Return values
array<string, mixed>about()
`/about`.
private
about(MTG $mtg) : PromiseInterface<string|int, MessageBuilder>
Parameters
- $mtg : MTG
Return values
PromiseInterface<string|int, MessageBuilder>clientId()
The application's id.
private
static clientId(MTG $mtg) : string
Parameters
- $mtg : MTG