telega/bot
Types
pub type BotInstanceMessage(session) {
BotInstanceMessageOk
BotInstanceMessageNew(
client: BotInstanceSubject(session),
update: Update,
)
BotInstanceMessageWaitHandler(handler: Handler(session))
}
Constructors
-
BotInstanceMessageOk
-
BotInstanceMessageNew( client: BotInstanceSubject(session), update: Update, )
-
BotInstanceMessageWaitHandler(handler: Handler(session))
pub type CallbackQueryFilter {
CallbackQueryFilter(re: Regexp)
}
Constructors
-
CallbackQueryFilter(re: Regexp)
Handlers context.
pub type Context(session) {
Context(
key: String,
update: Update,
bot_info: User,
config: Config,
session: session,
bot_subject: BotInstanceSubject(session),
)
}
Constructors
-
Context( key: String, update: Update, bot_info: User, config: Config, session: session, bot_subject: BotInstanceSubject(session), )
pub type Handler(session) {
HandleAll(
handler: fn(Context(session)) -> Result(session, String),
)
HandleCommand(
command: String,
handler: fn(Context(session), Command) ->
Result(session, String),
)
HandleCommands(
commands: List(String),
handler: fn(Context(session), Command) ->
Result(session, String),
)
HandleText(
handler: fn(Context(session), String) ->
Result(session, String),
)
HandleHears(
hears: Hears,
handler: fn(Context(session), String) ->
Result(session, String),
)
HandleCallbackQuery(
filter: CallbackQueryFilter,
handler: fn(Context(session), String, String) ->
Result(session, String),
)
}
Constructors
-
HandleAll( handler: fn(Context(session)) -> Result(session, String), )
Handle all messages.
-
HandleCommand( command: String, handler: fn(Context(session), Command) -> Result(session, String), )
Handle a specific command.
-
HandleCommands( commands: List(String), handler: fn(Context(session), Command) -> Result(session, String), )
Handle multiple commands.
-
HandleText( handler: fn(Context(session), String) -> Result(session, String), )
Handle text messages.
-
HandleHears( hears: Hears, handler: fn(Context(session), String) -> Result(session, String), )
Handle text message with a specific substring.
-
HandleCallbackQuery( filter: CallbackQueryFilter, handler: fn(Context(session), String, String) -> Result(session, String), )
Handle callback query. Context, data from callback query and
callback_query_id
are passed to the handler.
pub type Hears {
HearText(text: String)
HearTexts(texts: List(String))
HearRegex(regex: Regexp)
HearRegexes(regexes: List(Regexp))
}
Constructors
-
HearText(text: String)
-
HearTexts(texts: List(String))
-
HearRegex(regex: Regexp)
-
HearRegexes(regexes: List(Regexp))
pub type RegistryMessage {
HandleBotRegistryMessage(update: Update)
}
Constructors
-
HandleBotRegistryMessage(update: Update)
pub type SessionSettings(session) {
SessionSettings(
persist_session: fn(String, session) ->
Result(session, String),
get_session: fn(String) -> Result(session, String),
)
}
Constructors
-
SessionSettings( persist_session: fn(String, session) -> Result(session, String), get_session: fn(String) -> Result(session, String), )
Functions
pub fn set_webhook(config config: Config) -> Result(Bool, String)
Set webhook for the bot.
pub fn start_registry(
config config: Config,
handlers handlers: List(Handler(a)),
session_settings session_settings: SessionSettings(a),
root_subject root_subject: Subject(Subject(RegistryMessage)),
bot_info bot_info: User,
) -> Result(Subject(RegistryMessage), StartError)
pub fn wait_handler(
ctx: Context(a),
handler: Handler(a),
) -> Result(a, String)