# Sexy v0.9.13 - Table of Contents

Telegram framework for Elixir — Bot API with single-message UI pattern and TDLib userbot integration in one dependency.

## Pages

- [Overview](readme.md)
- [Changelog](changelog.md)
- [Bot Quick Start](bot-quickstart.md)
- [TDLib Quick Start](tdl-quickstart.md)

## Modules

- [Sexy](Sexy.md): Telegram framework for Elixir — bots and userbots from one dependency.

- Bot API
  - [Sexy.Bot](Sexy.Bot.md): Telegram Bot API framework with the single-message UI pattern.
  - [Sexy.Bot.Api](Sexy.Bot.Api.md): Low-level HTTP client for the Telegram Bot API.
  - [Sexy.Bot.Notification](Sexy.Bot.Notification.md): Send notification messages with dismiss and navigate buttons.
  - [Sexy.Bot.Poller](Sexy.Bot.Poller.md): GenServer that polls Telegram for updates and routes them to `Sexy.Bot.Session` callbacks.
  - [Sexy.Bot.Screen](Sexy.Bot.Screen.md): Converts plain maps into `Sexy.Utils.Object` structs ready for sending.
  - [Sexy.Bot.Sender](Sexy.Bot.Sender.md): Delivers `Sexy.Utils.Object` structs to Telegram and manages the message lifecycle.
  - [Sexy.Bot.Session](Sexy.Bot.Session.md): Behaviour that bridges Sexy with your application.

- TDLib
  - [Sexy.TDL](Sexy.TDL.md): TDLib integration for Elixir — manage userbot sessions via a `tdlib_json_cli` binary.
  - [Sexy.TDL.Backend](Sexy.TDL.Backend.md): GenServer managing the Erlang Port to the `tdlib_json_cli` binary.
  - [Sexy.TDL.Handler](Sexy.TDL.Handler.md): GenServer that deserializes TDLib JSON into Elixir structs and forwards them to the app.
  - [Sexy.TDL.Method](Sexy.TDL.Method.md): This module was generated using Telegram's TDLib documentation. It contains
786 submodules (= structs).

  - [Sexy.TDL.Object](Sexy.TDL.Object.md): This module was generated using Telegram's TDLib documentation. It contains
1772 submodules (=  structs).

  - [Sexy.TDL.Registry](Sexy.TDL.Registry.md): ETS-based session registry for TDLib sessions.
  - [Sexy.TDL.Riser](Sexy.TDL.Riser.md): Per-session supervisor for a TDLib account.

- Utilities
  - [Sexy.Utils](Sexy.Utils.md): Utility functions used across Sexy: query parsing, number formatting,
UUID compression, and struct conversion.
  - [Sexy.Utils.Bot](Sexy.Utils.Bot.md): Helpers for working with Telegram bot updates: command parsing, user/message
extraction, media handling, text formatting, and pagination.
  - [Sexy.Utils.Object](Sexy.Utils.Object.md): The universal message container for `Sexy.Bot`.

## Mix Tasks

- [mix sexy.tdl.generate_types](Mix.Tasks.Sexy.Tdl.GenerateTypes.md): Generate Sexy.TDL.Object and Sexy.TDL.Method structs from TDLib types.json
- [mix sexy.tdl.setup](Mix.Tasks.Sexy.Tdl.Setup.md): Interactive setup for Sexy.TDL (TDLib integration).

