class

Tourmaline::Handlers::CommandHandler

Inherits Tourmaline::EventHandler < Reference < Object

Constants

ANNOTATION = Command

Constructors

new(commands, prefix = nil, outgoing : Bool = true, private_only : Bool = false, group_only : Bool = false, on_edit : Bool = false, register : Bool = false, register_as : Nil | String = nil, description : Nil | String = nil, &block : Context -> )

Create a new CommandHandler instance using the provided commands. commands can be a single command string, or an array of possible commands.

!!! warning If #admin_only is true, get_chat_adminstrators will be run every time the handler is invoked. This should be fine in testing, but in production it's recommended to cache admins and do your own guarding.

Source

Instance methods

call(update : Update)
Source
commands

Commands (without prefix) that this handler should respond to.

Source
commands=(commands : Array(String))

Commands (without prefix) that this handler should respond to.

Source
description

Used when registering the command with BotFather. If register is true, but this is not set, the command will not be registered.

Source
description=(description : String | Nil)

Used when registering the command with BotFather. If register is true, but this is not set, the command will not be registered.

Source
group_only

If true, this handler will only respond if the command is sent in a group.

Source
group_only=(group_only : Bool)

If true, this handler will only respond if the command is sent in a group.

Source
on_edit

If true, this handler will also run (or re-run) when messages are edited.

Source
on_edit=(on_edit : Bool)

If true, this handler will also run (or re-run) when messages are edited.

Source
outgoing

User API: if true, this command will only be activated by an outgoing message.

Source
outgoing=(outgoing : Bool)

User API: if true, this command will only be activated by an outgoing message.

Source
prefixes

Prefixes that commands should start with.

Source
prefixes=(prefixes : Array(String))

Prefixes that commands should start with.

Source
private_only

If true, this handler will only respond if the command is sent in private.

Source
private_only=(private_only : Bool)

If true, this handler will only respond if the command is sent in private.

Source
register

Register this command with BotFather. Only works is prefixes contains / (as it does by default), as non-botcommands can't be registed with BotFather.

Source
register=(register : Bool)

Register this command with BotFather. Only works is prefixes contains / (as it does by default), as non-botcommands can't be registed with BotFather.

Source
register_as

By default the first command in commands will be selected as the command name to register. If this property is set, it will be used instead.

Source
register_as=(register_as : String | Nil)

By default the first command in commands will be selected as the command name to register. If this property is set, it will be used instead.

Source

Nested types