MILAGPT
What do you need? Pick an island — I’ll show you where to go.Ask Mila
Talk to MilaYour own Mila — 3 days for $5 · talking to Mila Tashkent is free
RU·EN
Docs · Telegram

Mila works in your Telegram, where your business already talks

Your private chat, your groups, forum topics, your public bot. Buttons for every decision, voice notes, files. No new app for you or your clients. Every line below links to the code.

The channel itself is a separate open plugin, shakhruz/mila-telegram, a fork of Anthropic’s official Telegram plugin.

Chats

One Mila, every kind of chat

She behaves differently in each place, and you choose how. Each card links to the file that does it.

01 · YOUR DM

Your private chat

Your question comes first, before the new inbox. She opens photos, videos and reposts and tells you what is inside. “Send?” appears only under a ready draft. Two or three buttons under a choice, none under a report.

skills/lichka-hozyaina
02 · GROUPS

Groups in three modes

Add the bot and send /channel_join in the group. A card comes to your DM: 💬 everyone, 🏷 only when mentioned, 👁 observer (silent in the group, one summary a day in your DM), or reject. Until you tap, she stays quiet. /mila_leave disconnects the chat.

skills/mila-v-chatemila-telegram · README
03 · TOPICS

Forum topics

She answers in the topic the message came from. She can open a topic for a long task, keep a short card for it (what, with whom, whose move) and close it to the archive when the task is done.

skills/topiki
04 · YOUR PUBLIC BOT

Messages and mailings

One person or a mailing from your public bot, only on your word in your DM. A card shows “Mailing: N people” with the full text, and nothing goes until you tap ✅. Only people who wrote to the bot first; quiet hours 22:00–08:00; a stop list. The bot token stays on the server, not with Mila.

Runs on Milas hosted by MILAGPT: the sending service lives on the host.

skills/bot-send
Decisions

Every decision is one tap

  • One card, one decision. A question, two or three options with what happens after each, her pick marked ★, and a deadline when there is one. Your tap comes back to her as “[button] …”. skills/kartochki
  • Text goes out only after a tap on that text. Nothing leaves on your behalf automatically, and a tap from yesterday does not cover today’s text. It is law 3 of her constitution. CONSTITUTION.md
  • No tap means no. Routine actions run by rule and are logged; anything else waits on a card with a deadline. No answer by then, and she does not do it and says so. install/permission_policy.ts
  • A card works once. A choice button goes dead after the first tap, so the same decision cannot be made twice. mila-telegram · README
Formatting

Clean messages, no raw asterisks

Telegram uses its own MarkdownV2, not regular markdown. A message with **bold** sent as plain text arrives with the asterisks. Mila has three locks against that.

What a client would see

Your order is **ready**. Price - 120 000 sum.

What Mila sends

Your order is ready. Price — 120 000 sum.

01

tg.py escapes for you

She writes ordinary markup, and the script turns it into valid MarkdownV2 and escapes the special characters, dots and hyphens included.

skills/milagpt-chat/tg.py
02

The guard stops raw markup

Bold, lists, code or links without format=markdownv2 do not leave. She rebuilds the message first.

On Milas hosted by MILAGPT today; it is being added to the self-host installer.

send-guard.py
03

Copy with one tap

Text you will forward comes as a monospace block: one tap on a phone copies all of it.

skills/copyblock
Voice, files, reactions

Talk to her like to a person

Send a voice note on the way to a meeting, forward a photo of a receipt, react with 🔥. She understands all of it.

What arrives in the chat
  • Voice notes. The plugin hands them to a transcription command you choose; the kit’s script uses Groq whisper-large-v3 with your own key and gives Uzbek a second pass. mila-telegram · README transcribe-voice.sh
  • Files and photos come with the message, and she opens them before answering. lichka-hozyaina
  • Files back to you: a report, a PDF, a picture as an attachment. install/mila
  • Reactions and reply quotes: she sees which message you reacted to in your DM and what exactly you are replying to. receiver.ts reply quotes
  • “Who are you?” Anyone can send /whoami: the bot says it is an AI, what it is connected to and who is responsible for it. mila-telegram · README
  • Every answer reaches Telegram. A stop hook does not let her end a turn without replying to you. On hosted Milas today. reply-required.py
Nothing is lost

Restart, update, crash: messages wait

The receiver runs as a daemon next to the session and writes every incoming message to a journal. When the session comes back, it reads the journal from where it stopped. mila status shows the links; when the bot goes quiet, mila doctor walks the token, privacy mode at BotFather, the access list, the daemon and file permissions, and says what to fix.

docs/REFERENCE.md · mila-telegram · README · install/doctor.py

$ mila status
receiver   running (pid 32455)
sender     running
bridge     cursor 268968 / 268968
journal    268968 bytes, 1633 events
outbox     empty
Honestly

What this page does not claim

In the repository

Read every line yourself

Files of the Telegram integration in the mila-companion and mila-telegram repositories
FileWhat it does
skills/lichka-hozyainahow she writes in your DM
skills/mila-v-chatebehaviour in groups, three modes
skills/topikiforum topics: open, run, archive
skills/kartochkidecision cards with buttons
skills/bot-sendmessages and mailings from your public bot
skills/milagpt-chatMarkdownV2 rules and tg.py
send-guard.pychecks every outgoing message
install/transcribe-voice.shvoice notes to text
install/reply-required.pyno turn ends without a reply
skills/mila-sessionthe mila command: start, resume, channel health
docs/team-hearing.mdhow Milas hear each other in a group
mila-telegram · receiver.tsthe plugin: daemon, journal, group join, reactions
Open source · Apache-2.0

Fork it, teach it, send a PR

Both repositories are open: the kit with its skills, hooks, tools and templates, and the Telegram plugin. Every pull request is read by a person and by Mila Quality.

Facts on this page: github.com/shakhruz/mila-companion (main, v1.3.0) and github.com/shakhruz/mila-telegram (main), checked 18 Oct 2026. “Mila”, “MILAGPT” and the logo are trademarks of MILAGPT.