class Tourmaline::Handlers::CommandHandler
- Tourmaline::Handlers::CommandHandler
- Tourmaline::EventHandler
- Reference
- Object
Defined in:
tourmaline/handlers/command_handler.crConstant Summary
-
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
.
Instance Method Summary
- #call(update : Update)
-
#commands : Array(String)
Commands (without prefix) that this handler should respond to.
-
#commands=(commands : Array(String))
Commands (without prefix) that this handler should respond to.
-
#description : String | Nil
Used when registering the command with BotFather.
-
#description=(description : String | Nil)
Used when registering the command with BotFather.
-
#group_only : Bool
If true, this handler will only respond if the command is sent in a group.
-
#group_only=(group_only : Bool)
If true, this handler will only respond if the command is sent in a group.
-
#on_edit : Bool
If true, this handler will also run (or re-run) when messages are edited.
-
#on_edit=(on_edit : Bool)
If true, this handler will also run (or re-run) when messages are edited.
-
#outgoing : Bool
User API: if true, this command will only be activated by an outgoing message.
-
#outgoing=(outgoing : Bool)
User API: if true, this command will only be activated by an outgoing message.
-
#prefixes : Array(String)
Prefixes that commands should start with.
-
#prefixes=(prefixes : Array(String))
Prefixes that commands should start with.
-
#private_only : Bool
If true, this handler will only respond if the command is sent in private.
-
#private_only=(private_only : Bool)
If true, this handler will only respond if the command is sent in private.
-
#register : Bool
Register this command with BotFather.
-
#register=(register : Bool)
Register this command with BotFather.
-
#register_as : String | Nil
By default the first command in
#commands
will be selected as the command name to register. -
#register_as=(register_as : String | Nil)
By default the first command in
#commands
will be selected as the command name to register.
Instance methods inherited from class Tourmaline::EventHandler
call(update : Update)
call,
client : Client
client,
client=(client : Client)
client=,
client? : Client | Nil
client?
Constructor Detail
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.
Instance Method Detail
Commands (without prefix) that this handler should respond to.
Commands (without prefix) that this handler should respond to.
Used when registering the command with BotFather. If #register
is true, but this
is not set, the command will not be registered.
Used when registering the command with BotFather. If #register
is true, but this
is not set, the command will not be registered.
If true, this handler will only respond if the command is sent in a group.
If true, this handler will also run (or re-run) when messages are edited.
User API: if true, this command will only be activated by an outgoing message.
User API: if true, this command will only be activated by an outgoing message.
If true, this handler will only respond if the command is sent in private.
If true, this handler will only respond if the command is sent in private.
Register this command with BotFather. Only works is #prefixes
contains /
(as
it does by default), as non-botcommands can't be registed with BotFather.
Register this command with BotFather. Only works is #prefixes
contains /
(as
it does by default), as non-botcommands can't be registed with BotFather.
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.
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.