sig
type action =
Nothing
| GetMe of (Api.User.user Api.Result.result -> Api.Command.action)
| SendMessage of int * string
| SendPhoto of int * string * string option * int option *
(string Api.Result.result -> Api.Command.action)
| ResendPhoto of int * string * string option * int option
| SendAudio of int * string * string * string * int option *
(string Api.Result.result -> Api.Command.action)
| ResendAudio of int * string * string * string * int option
| SendVoice of int * string * int option *
(string Api.Result.result -> Api.Command.action)
| ResendVoice of int * string * int option
| GetUpdates of
(Api.Update.update list Api.Result.result -> Api.Command.action)
| PeekUpdate of
(Api.Update.update Api.Result.result -> Api.Command.action)
| PopUpdate of
(Api.Update.update Api.Result.result -> Api.Command.action)
| Chain of Api.Command.action * Api.Command.action
type command = {
name : string;
description : string;
mutable enabled : bool;
run : Api.Message.message -> Api.Command.action;
}
val is_command : Api.Update.update -> bool
val read_command :
Api.Message.message -> Api.Command.command list -> Api.Command.action
val read_update :
Api.Update.update -> Api.Command.command list -> Api.Command.action
val tokenize : string -> string list
end