DMWire Docs
Early access

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):

Request
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"}'
Response (HTTP 200, captured 2026-10-17)
{
  "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:

Request
curl https://api.dmwire.ai/v1/channels/telegram/connect/%2B31612345678/status \
  -H "X-API-Key: $DMWIRE_API_KEY"
Response (HTTP 200, captured 2026-10-17)
{
  "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):

Request
curl \
  -X DELETE https://api.dmwire.ai/v1/channels/telegram/%2B31612345678 \
  -H "X-API-Key: $DMWIRE_API_KEY"
Response (HTTP 200, captured 2026-10-17)
{
  "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

LimitValue
Messages you send per day (early access)50
New contacts per day (early access)10
Messages to one person who has not replied3, 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.