USER GUIDE — ENGLISH
Every feature.
Every button. Zero guesswork.
voipbot places automated verification calls over real phone lines and gives you a live control panel inside Telegram. This guide walks through the whole thing — from your first /start to advanced in-call controls.
Overview
voipbot is a Telegram bot that calls any phone number and plays a verification scenario with a natural AI voice. While the call runs, you get a live panel in Telegram: you see every key the recipient presses, you can play extra messages, ask for keypad input, put the call on hold, transfer it to a second number, or listen in live.
Typical flow: pick a script → enter the number → the bot calls → the recipient hears the verification message and presses 1 → they type the code on their keypad → you see it live and accept or decline.
#What you need
- A Telegram account — that's it. No app, no install.
- An active subscription for unlimited calls, or use your free calls to test (see section 11).
/start — the main menu always comes back.Open the bot and send /start
The main menu appears: subscription status, free calls left, your caller ID, and the selected language.
Join the channel (for free calls)
Free calls are reserved for channel members. The bot checks membership when you tap 📞 Start call — join first, and you won't have to redo anything.
Pick your language
Menu → 🌍 Language. English and French voices are available; the main menu always shows your current voice.
Start a call
Tap 📞 Start call, choose a script, enter the number, fill in the details — the call launches and the live panel takes over.
From the main menu, tap 📞 Start call. The bot walks you through a short form:
Select a script
Built-in scripts are unlimited and always available. Your custom scripts appear below them. Scripts follow your chosen voice language — a script created in French shows when your voice is French.
Enter the phone number
11 digits, no spaces, no "+". Example: 14161234567
Fill the placeholders
Each script asks for its details one by one (name, bank, amount…). The AI voice says them naturally during the call.
Confirm and launch
Review the summary, tap confirm — the call starts and the live panel appears. Every step from here happens in that panel.
Once the recipient answers, they hear the verification message and are asked to press 1. The panel then switches to the code entry stage and shows everything they type, in real time.
Seven ready-made scenarios, unlimited use, each with its own placeholders:
| Script | Scenario | Placeholders |
|---|---|---|
| 🪪 VBV SMS | Classic bank verification — asks for the OTP code sent by SMS | fullname, bank, last4digit, merchant, amount |
| 🔔 VBV Notif | Notification-style call — no code expected, message only | fullname, bank, last4digit, merchant, amount |
| 📲 Apple/Samsung Pay | Wallet card enrollment verification | fullname, bank, company, last4digit |
| 🔁 Reset Banklog Pswd | Password reset verification call | fullname, bank |
| 💻 Account login | Login attempt verification | fullname, company |
| 💳 Card Capture | Collects card number, expiry and CVV step by step | fullname, bank |
| 🪤 Card Capture + OTP | Card capture followed by the OTP step | fullname, bank |
Menu → 📝 Script option → ➕ Create script. An 8-step wizard builds your own scenario: name, verification text, code request text, success and failure messages, mechanisms, and language.
#French + English = one script
At the end of the wizard you can create both language versions in one go — same name, texts asked twice. The two versions count as a single script against your limit (10 max) and appear grouped in your script list:
📂 nonono 🇬🇧 🇫🇷
📂 teston 🇬🇧 🇫🇷
Tap a grouped script and you get one button per version — 🇬🇧 EN or 🇫🇷 FR — for details or deletion. During calls, the picker automatically shows the version matching your voice language, and /call by name resolves to it too.
#Mechanisms
| Step | Options | Behavior |
|---|---|---|
| Verification | Press 1 (default) | Recipient confirms by pressing 1 — includes the no-input hangup protection |
| Message only | Just plays the message and moves on — no key expected, no auto-hangup | |
| Skip | No verification step at all | |
| Code request | Keypad input (default) | Recipient types the code; panel shows ⌨️ Key pressed live |
| Message only | Announcement-style request, nothing to type |
The panel is your cockpit. It refreshes about once a second and always reflects the current state of the call — every new step replaces the previous one.
Status: waiting for keypad entry
Stage: ⭕ Button: debit pin
⌨️ Key pressed: 685
🎹 DTMF: 548769 | 685
- Status — where the call is (ringing, waiting for press 1, OTP input, on hold…).
- Stage — the current step: script stage or the exact button playing.
- ⌨️ Key pressed — the live keypad entry of the current step only. It clears on decline or when a new step starts — it never stacks.
- 🎹 DTMF — the raw key log of the whole call, grouped by step with " | " (e.g.
1 | 558456 | 685).
#Accepting the code
On OTP scripts, an ⚡ SEND OTP NOW alert button appears a few seconds after the request audio starts — tap it the moment the recipient says they received the SMS. When the entry looks right, tap ✅ Accept (success message, call ends) or ❌ Decline (retry message, recipient re-types).
#End of call
The final panel shows ⌨️ All key pressed — every key of the call, grouped per step with " | ". Nothing gets lost between steps.
#⏸ Hold
Puts the recipient on music-on-hold. The button always mirrors the real call state — it flips to ▶️ Play when the call is actually holding (including right after the recipient presses #). Holding during any message stops that audio; resuming restarts the current message loop. Pressing any button while on hold automatically un-holds and plays the new audio.
#🔀 Transfer call — subscribers
Bridges the call to a second number: the recipient stays on line 1, your number joins on line 2. You get a discreet "2nd line answered" notice with its own hang-up button for that leg. A transferred call gets extra time on top of the normal limit.
#🎧 Listen Live
Streams the call audio so you can hear exactly what the recipient hears, in real time.
#📴 Hang Up
Ends the call instantly. The final panel shows the complete key log, and the call recording is delivered right after (if enabled).
The number displayed on the recipient's phone. Two modes:
- Default pool — if you don't set anything, a random number from the bot's default list is picked for each call.
- Custom — Menu → 🆔 Set CallerID (or
/setcallerid): 11 digits, optional display name. Every call then shows your number.
Skip the form entirely — one message launches the call:
- The script accepts its ID or its name — the bot detects the phone number and splits the rest automatically.
- For FR/EN scripts, the name resolves to the version matching your voice language.
- Every call ends with a 🔁 Quick Call line you can tap to copy — instant redial with the same parameters.
New users get free calls to test everything. The counter is on the main menu (🆓 Free call: 2/2 style).
- Free calls require joining the channel — the bot checks when you tap Start call, before you type anything.
- Free calls are shorter (5 minutes max) and Hold/Transfer stay locked.
- Everything else works: all scripts, all buttons, the full live panel.
Menu → 💎 Buy shows the plans. Payment is by crypto (BTC, ETH, USDT and more):
Pick a plan
Choose the duration that fits — the price and what it unlocks are shown upfront.
Pay the invoice
You get a crypto address and exact amount. Send the payment — activation is automatic once confirmed on-chain.
Track it
🧾 Invoices lists your payments and their status. If activation takes too long, send your invoice ID to support.
Subscribers get unlimited calls, longer call duration, Hold, Transfer, and priority everything. Have a promo code? Use /redeem.
- 📜 History — every past call with its final status and captured keys, plus per-number history.
- 🎙 Recordings — each call is recorded and delivered to you in Telegram when it ends, then removed from the server.
- Final panel — the end-of-call summary keeps the complete key log (All key pressed), grouped step by step, and a tap-to-copy redial command.
#The recipient hears nothing when I press a button
The previous audio is still finishing or the call is on hold — every new action overrides the current one, so just press the button again and watch the Stage line: it always shows what's actually playing.
#The call hangs up after ~30s with no key pressed
That's the dead-line protection, and it only runs on scripts with a press-1 verification. Message-style scripts never auto-hang-up. If a real recipient needs more time, any key press disables it for the rest of the call.
#I stacked several /start menus — which one is live?
Always the last one. Whatever you do next (start a call, join prompt, menus) follows your most recent /start, even if you tap a button on an older message.
#Can two scripts share the same name?
That's exactly how FR/EN pairs work: same name, two languages, they count as one script and appear grouped. Tap the group to pick a version.
#Numbers format cheat sheet
- Phone numbers: 11 digits, no "+", no spaces —
14161234567 - Caller ID: same format, one digit change is enough to dodge a carrier block.
voipbot user guide — open the bot, send /start, and make your first call in under a minute.