Current section

Files

Jump to
telega include telega@dialog_DialogBuilder.hrl
Raw

include/telega@dialog_DialogBuilder.hrl

-record(dialog_builder, {
id :: binary(),
windows :: list(telega@dialog@types:window(any(), any(), any(), any())),
initial :: gleam@option:option(binary()),
initial_state :: fun(() -> any()),
encode_state :: fun((any()) -> binary()),
decode_state :: fun((binary()) -> {ok, any()} | {error, nil}),
on_done :: gleam@option:option(fun((any(), telega@bot:context(any(), any(), any())) -> {ok,
telega@bot:context(any(), any(), any())} |
{error, any()})),
subs :: list(telega@dialog:sub_attachment(any(), any(), any())),
sub_result_hooks :: list({binary(),
fun((any(), gleam@dict:dict(binary(), binary()), telega@bot:context(any(), any(), any())) -> {ok,
telega@dialog@types:dialog_action(any())} |
{error, any()})}),
storage :: telega@flow@types:flow_storage(any()),
ttl_ms :: gleam@option:option(integer()),
labels :: fun((telega@bot:context(any(), any(), any())) -> telega@dialog@types:labels())
}).