Examples And Learning Paths

View Source

Nadia has two layers that can be used together or separately:

Start with the path that matches what you are building.

First Bot

GoalGuideMain modules
Generate and run an echo botBuild Your First BotMix.Tasks.Nadia.Gen.Bot, Nadia.Polling
Route commands and inline buttonsCommands And Inline KeyboardsNadia.Dispatcher, Nadia.Context
Collect data over several messagesConversation StateNadia.SessionStore
Persist conversation statePersistent Session BackendsNadia.SessionStore

The complete handler source for the interactive examples lives in the examples directory and is shipped as uncompiled source. Copy and rename an example under your application's lib/ directory. Nadia's normal offline test suite loads and exercises every published example directly.

Integrate And Test

GoalGuideMain modules
Receive updates over HTTPReceive Webhook UpdatesNadia.Webhook
Run several bot identitiesRun Multiple BotsNadia.Client, Nadia.Polling
Test without credentials or network callsTest Bot HandlersNadia.Client, Nadia.HTTPClient
Typed media, stories, uploads, and downloadsMedia And FilesNadia.InputMedia, Nadia.InputPaidMedia, Nadia.InputPollMedia, Nadia.InputFile
Rich formatting and clickable story areasRich Messages And StoriesNadia.InputRichMessage, Nadia.StoryArea
Handle Telegram errors with boundsErrors And Rate LimitsNadia.Model.Error, Nadia.Model.ResponseParameters
Publish Telegraph pagesUse The Telegraph APINadia.Graph

Prepare For Production

Read the Production Checklist before deploying. It covers polling versus webhooks, duplicate delivery, handler return values, state persistence, secrets, timeouts, and operational visibility.

For individual Bot API calls and model fields, use the Nadia module reference alongside the official Telegram Bot API documentation. The examples focus on application mechanics rather than repeating one example for each Telegram method.