# Hotline v0.2.1 - Table of Contents

> Telegram Bot API client and framework for Elixir

## Pages

- [Hotline](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [Hotline](Hotline.md): Telegram Bot API client and framework for Elixir.
- [Hotline.Bot](Hotline.Bot.md): Behaviour and GenServer for building Telegram bots.
- [Hotline.BroadwayProducer](Hotline.BroadwayProducer.md): Broadway producer for Telegram updates.
- [Hotline.ChatRegistry](Hotline.ChatRegistry.md): Tracks known chats using ETS (fast reads) backed by DETS (persistence).
- [Hotline.Client](Hotline.Client.md): HTTP client for the Telegram Bot API using Req.
- [Hotline.Config](Hotline.Config.md): Cascading configuration resolution.
- [Hotline.Flow](Hotline.Flow.md): DSL and behaviour for building multi-step conversation flows.
- [Hotline.Flow.Context](Hotline.Flow.Context.md): Flow execution context passed to prompt functions and `handle_input/3` callbacks.
- [Hotline.Flow.Engine](Hotline.Flow.Engine.md): GenServer that manages active conversation flows per chat.
- [Hotline.Flow.Runner](Hotline.Flow.Runner.md): Pure flow execution logic with no side effects.
- [Hotline.Poller](Hotline.Poller.md): GenServer that long-polls `getUpdates` and broadcasts to PubSub.
- [Hotline.Stream](Hotline.Stream.md): Lazy stream of Telegram updates for IEx exploration.
- [Hotline.Type](Hotline.Type.md): Macro for Telegram API type structs with automatic parsing.
- [Hotline.Types.CallbackQuery](Hotline.Types.CallbackQuery.md): Telegram CallbackQuery object.
- [Hotline.Types.Chat](Hotline.Types.Chat.md): Telegram Chat object.
- [Hotline.Types.Message](Hotline.Types.Message.md): Telegram Message object.
- [Hotline.Types.Update](Hotline.Types.Update.md): Telegram Update object.
- [Hotline.Types.User](Hotline.Types.User.md): Telegram User object.
- [Hotline.Webhook](Hotline.Webhook.md): Plug for receiving Telegram webhook POSTs.
- [Hotline.Webhook.Router](Hotline.Webhook.Router.md): Standalone router for webhook deployment with Bandit.

- Exceptions
  - [Hotline.Error](Hotline.Error.md): Structured error type for Telegram API and transport errors.

