Telegram: your own account, not a bot
DMWire logs in to your own Telegram account, like a Telegram app on a new device. Your agent reads and answers your private chats as you, not as a bot.
Log in
Ask your agent to "connect my Telegram account +31...". Behind that, it calls connect_telegram.
With a login code (the default): Telegram sends a code to your Telegram app. Tell your agent the code; it calls submit_telegram_code. If your account has a Telegram password (two-step verification), the status becomes password_required and the agent asks for it (submit_telegram_password).
With a QR code (mode: "qr"): the answer has a connect_url with a QR code. On a phone where you are logged in to Telegram, open Settings, Devices, Link Desktop Device and scan it. Real response (tokens hidden):
curl \
-X POST https://api.dmwire.ai/v1/channels/telegram/connect \
-H "X-API-Key: $DMWIRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone_number": "+31612345678", "mode": "qr"}'{
"success": true,
"phone_number": "+31612345678",
"status": "qr_required",
"session_id": "79f9115d-45e2-4d78-8417-1ce8f86019a7",
"login_token": "<redacted>",
"qr_url": "tg://login?token=<redacted>",
"connect_url": "https://api.dmwire.ai/v1/channels/telegram/connect/page?token=<redacted>",
"connect_url_expires_at": 1792210962000
}get_telegram_status reports the progress until it says connected:
curl https://api.dmwire.ai/v1/channels/telegram/connect/%2B31612345678/status \
-H "X-API-Key: $DMWIRE_API_KEY"{
"success": true,
"phone_number": "+31612345678",
"status": "code_required",
"telegram_user_id": null,
"live": true
}You can log the session out from Telegram itself under Settings, Devices, or ask your agent to disconnect (disconnect_telegram):
curl \
-X DELETE https://api.dmwire.ai/v1/channels/telegram/%2B31612345678 \
-H "X-API-Key: $DMWIRE_API_KEY"{
"success": true,
"phone_number": "+31612345678",
"status": "removed"
}Sending
- Your agent can message people who are already a contact on this account, for example someone who wrote to you. Starting a chat with a new person by username is not available yet; the send is refused with
telegram_requires_existing_contact. - Text up to 4,096 characters plus at most one
media_url. - Private chats only.
Limits on Telegram
| Limit | Value |
|---|---|
| Messages you send per day (early access) | 50 |
| New contacts per day (early access) | 10 |
| Messages to one person who has not replied | 3, then DMWire waits for their reply |
Telegram has its own spam rules for user accounts. When Telegram asks an account to slow down, DMWire pauses its sends. When Telegram flags an account for messaging too many strangers, sending stops on that account. Answering people who write to you is the safe way to use it.
Last checked against the live service on 2026-10-17.