Method 1 — Automatic (Recommended)
The fastest way. HARMAYOH creates and connects the bot for you automatically with one tap.
Send /start to the HARMAYOH bot in Telegram.
In the keyboard menu, tap this button.
Telegram opens a pre-filled bot creation form. Just confirm it — your bot is created and connected instantly. No copying and pasting tokens needed.
Method 2 — Manual (Paste Token)
If you already have a bot created on @BotFather, you can paste its token manually.
Go to @BotFather on Telegram → /newbot → choose a name and username → copy the API token it gives you.
In HARMAYOH, tap "Paste Token Manually" or open the app button. The web dashboard will appear.
Enter your bot token in the field and tap Connect. The platform verifies it and sets everything up automatically.
After connecting, tap the link that HARMAYOH sends you (e.g. t.me/yourbotname) and send /start.
Because you are the owner, your bot shows you an admin panel with buttons to manage everything: messages, buttons, settings, users, wallets, market, etc.
Most settings can be edited directly inside your bot. You can also manage bots from the HARMAYOH web app dashboard.
How Messages Work
Your bot shows users a series of messages. Each message can contain:
- Text — written content, can include HTML formatting
- Photos / Media — images attached to a message
- Buttons — tappable buttons that open another message or trigger an action
- Variables — dynamic values like
{firstname}that fill in automatically per user
Adding a New Message
This opens the message editor.
Give it a name (internal label, not shown to users) and write the message text.
After saving the message, tap "Add Button" to add buttons users can tap. Each button can link to another message.
Example — Welcome Message
Welcome to our bot. Your balance is $0.00.
What would you like to do?
The {firstname} becomes each user's real first name, and {balance} shows their live wallet balance.
Formatting Text
You can use HTML tags in your messages:
{variablename} anywhere in a message and it fills in automatically.{ }. They work in messages, welcome messages, button slot content, referral messages, and group welcome/goodbye messages.👤 User Variables
| Variable | Example Output | Description |
|---|---|---|
| {firstname} | John | User's Telegram first name |
| {lastname} | Doe | User's Telegram last name (blank if not set) |
| {username} | @johndoe | User's @username (shows first name if no username) |
| {userid} | 123456789 | User's Telegram numeric ID |
| {registrationdate} | 2024-05-01 | Date the user first started the bot |
💰 Wallet Variables
| Variable | Example Output | Description |
|---|---|---|
| {balance} | 150.00 | User's current wallet balance |
| {totaldeposit} | 200.00 | Total amount user has ever deposited |
| {totalwithdrawn} | 50.00 | Total amount user has ever withdrawn |
| {pendingwithdraw} | 10.00 | Amount currently pending withdrawal |
| {usd} | $150.00 | Balance in USD equivalent |
| {usdbalance} | $150.00 | Alias for {usd} |
🪙 Currency Variables
| Variable | Example Output | Description |
|---|---|---|
| {coinname} | Points | Your bot's coin/currency name |
| {coinsymbol} | ⭐ | Your coin's emoji/symbol |
| {currency} | USD | Currency code (USD, NGN, etc.) |
| {fiatcurrency} | USD | Fiat currency label |
| {minwithdraw} | 5.00 | Minimum withdrawal amount set by admin |
| {maxwithdraw} | 500.00 | Maximum withdrawal amount |
| {mindeposit} | 1.00 | Minimum deposit amount |
| {maxdeposit} | 1000.00 | Maximum deposit amount |
🔁 Referral Variables
| Variable | Example Output | Description |
|---|---|---|
| {referrallink} | t.me/yourbot?start=REF8X2K | The user's personal referral link |
| {totalreferrals} | 12 | How many people the user has referred |
| {refbonusamount} | 5.00 | Reward per referral you configured |
| {refofrefamount} | 1.00 | Second-level referral bonus amount |
| {refofref} | 3.00 | Total earnings from 2nd-level referrals |
| {minrefstodraw} | 5 | Minimum referrals needed before withdrawal |
⚙️ System Variables
| Variable | Example Output | Description |
|---|---|---|
| {botname} | @mypaybot | Your bot's Telegram username |
| {botusername} | @mypaybot | Alias for {botname} |
| {support_contact} | @yourname | Support contact you set in settings |
| {support_email} | help@site.com | Alias for {support_contact} |
{website} = https://mysite.com and use it in any message.Full Example Using Variables
Your Account:
💰 Balance: 25.00 ⭐
👥 Referrals: 3
📅 Member since: 2024-09-15
Share your referral link to earn 5.00 Points per invite:
t.me/mypaybot?start=REF3K9Z
Access settings inside your bot via the Admin Panel → ⚙️ Settings, or in the HARMAYOH web app dashboard.
General Settings
- Support Contact — Your Telegram username (e.g. @yourname) or email. Used in
{support_contact}variable and shown to users needing help. - Welcome Message — The message shown to users when they first send /start. Can use any variable like
{firstname}. - Maintenance Mode — Temporarily lock the bot so only you can use it. See details below.
Deposit & Withdrawal Limits
- Min Deposit — Minimum amount a user can deposit. Set to 0 to allow any amount.
- Max Deposit — Maximum amount per deposit. Set to 0 for no limit.
- Min Withdraw — Minimum withdrawal amount a user can request.
- Max Withdraw — Maximum withdrawal amount per request.
- Min Balance to Withdraw — User must have at least this balance before they can withdraw.
Notification Settings
- Notify Admin on New User — You receive a Telegram message when someone new starts the bot. (ON by default)
- Notify Admin on Deposit — Alert you when a deposit is made.
- Notify Admin on Withdrawal — Alert you when a withdrawal is requested.
- Notify User on New Referral — User gets a message when they bring in a new referral. (ON by default)
- Notify User on New Earning — User gets a message when they receive a referral bonus. (ON by default)
Display Settings
- Hide Watermark — Premium feature. Remove "Powered by HARMAYOH" from bot messages.
What it does
When Maintenance Mode is ON, any regular user who sends a message to your bot sees a custom maintenance message instead of the normal content. You (the admin/owner) can still use the bot normally.
How to turn it on
Admin Panel → ⚙️ Settings → Maintenance.
Enable the switch. The bot is now paused for users.
Write what users will see. You can use variables here too.
Example maintenance message
Hi Sarah, we're making some improvements!
We'll be back shortly. Thank you for your patience.
Contact @support for urgent matters.
What is a Slot Flow?
A slot is one step in a sequence. Each button can have multiple slots (steps) that play in order when the user taps it. Each slot can be a message, a question the user answers, a deposit step, or a withdrawal step.
Slot (Question) Types
Also available
- URL — Ask user to enter a URL/link
- Email — Ask user to enter an email address
- Phone — Ask user to enter a phone number
- Number — Ask user to enter a numeric value
- Text Only — Show a message without expecting any reply
How to Add a Slot to a Button
Admin Panel → Edit Messages → choose a message → tap a button to edit it.
Each slot you add is one step in the sequence.
Write what the bot says for this step, then choose the type (Normal, Choice, Deposit, Withdrawal, etc.).
Repeat for each step in the flow. They play in order when the user taps the button.
Full Example — "💳 Deposit" Button Flow
Please enter the amount you want to deposit (min: $5.00):
Amount: $50.00
Method: Bank Transfer
Your request has been sent to the admin. You will be notified once confirmed.
Meanwhile, the admin receives a message like:
User: @amara_tg (ID: 123456)
Amount: $50.00
Method: Bank Transfer
Setting Up Your Currency
Go to Admin Panel → 💰 Currency Settings:
- Coin Name — What your currency is called. E.g. "Points", "Coins", "Credits", "Naira"
- Coin Symbol — The emoji or symbol shown beside amounts. E.g.
⭐,🪙,₦ - Currency Code — USD, NGN, or your currency code for conversion reference
Admin Wallet Controls
As the admin, you can directly credit or debit any user's wallet from the admin panel:
- Credit (Admin Credit) — Add money to a user's wallet manually (e.g. after verifying payment)
- Debit (Admin Debit) — Remove money from a user's wallet
- View all transactions — See the full history of deposits, withdrawals, and referral bonuses
How Deposits Work
When a user requests a deposit (via a Deposit slot), the request is sent to you. You review it and tap Confirm or Reject:
- Confirm → User's wallet is credited automatically. User is notified.
- Reject → User is notified. Wallet unchanged.
How Withdrawals Work
Same process. User requests a withdrawal → you receive it → Confirm or Reject:
- Confirm → Wallet is debited. User is notified. You send the actual payout.
- Reject → User is notified. No change to wallet.
Setting Up Referrals
Admin Panel → 🔁 Referral Settings:
- Enable Referral System — Turn the referral system on or off
- Bonus Amount — How much a user earns per successful referral (e.g. 5.00)
- Bonus Currency — Currency of the bonus (USD, NGN, etc.)
- Min Withdrawal — Minimum balance required before a user can withdraw earnings
- Min Referrals to Withdraw — How many referrals a user must have before withdrawing
- Referral Message — Custom message shown when a user joins via a referral link
Second-Level Referrals (Ref of Ref)
You can also reward users when someone they referred brings in another person:
- Enable Ref-of-Ref — Turn on second-level referral bonuses
- Ref-of-Ref Amount — Bonus earned for 2nd-level referrals (usually lower than the main bonus)
How a user gets their referral link
Users send /refer in the bot, or tap the referral button in the menu. The bot sends them their personal link:
When someone clicks this link and starts the bot, they are tracked as a referral. The referring user earns the bonus immediately.
Custom Referral Message Example
Enabling the Market
The market button can be added to any message in your bot. Users tap it to browse products. You can customise the button label, position, and which message it appears on from Settings.
Creating a Product
This shows all your current products.
Enter the product name (e.g. "VIP Membership").
Fixed or One-Time (see below).
Enter the price in your bot's currency.
A product image makes it more attractive.
Product Types
The product stays in the market and can be purchased unlimited times. Great for ongoing memberships, subscriptions, or recurring items.
Example: Monthly VIP Access — ₦2,000
The product is automatically deleted from the market after the first purchase. Perfect for unique items, slots, or limited offers.
Example: Premium Account Slot (1 available) — ₦5,000
What happens when a user buys a product
- User taps a product → bot shows name, description, price
- User taps "Buy" → wallet is checked for sufficient balance
- If balance is enough → purchase is processed, wallet is debited automatically
- Admin receives a notification with the user's details and what they bought
- If One-Time product → it's removed from the market immediately
Managing Products
- Hide / Show — Temporarily hide a product without deleting it
- Edit — Change name, description, price, photo, or type at any time
- Delete — Permanently remove a product
{variables} so you can reuse the same value across all your messages without repeating yourself.What are custom variables?
In addition to built-in variables like {firstname}, you can define your own. For example, define website = https://mysite.com and then use {website} in any message. If you ever change the URL, you only update it once — not in every message.
How to create a custom variable
This shows your current custom variables.
Enter a name (no spaces, lowercase) and the value.
Wrap the name in curly braces: {variablename}
Examples
| Variable Name | Value Set | Use in message |
|---|---|---|
| {website} | https://mysite.com | Visit our site: {website} |
| {support} | @myname | Contact {support} for help |
| {offer} | 50% off this week! | 🎉 Special deal: {offer} |
| {bankname} | First Bank Nigeria | Bank: {bankname} |
| {accountno} | 2048837620 | Acct No: {accountno} |
How to Add HARMAYOH to a Group or Channel
In the persistent keyboard menu.
HARMAYOH gives you a link to add it to your group.
It needs: Delete Messages, Ban Users, Restrict Members, and Pin Messages to work fully.
All group settings are managed privately — not in the group itself. Tap the group name in HARMAYOH to configure it.
What HARMAYOH can manage
Available variables in Welcome/Goodbye
| Variable | Example Output | Description |
|---|---|---|
| {firstname} | Amara | New member's first name |
| {lastname} | Johnson | New member's last name |
| {username} | @amara_j | New member's @username |
| {mention} | Amara | Clickable mention of the user |
| {userid} | 987654321 | Their Telegram user ID |
| {balance} | 0.00 | Their bot wallet balance |
| {reflink} | t.me/bot?start=REF… | Their referral link |
| {refcount} | 0 | Number of referrals they have |
| {coinname} | Points | Your bot's currency name |
| {botname} | @mypaybot | Your bot's username |
Welcome Message Example
We're happy to have you here.
📜 Please read the rules with /rules
🤖 Earn Points by inviting friends:
t.me/mypaybot?start=REF3K9Z
Goodbye Message Example
Rule Types
- Banned Word — Any message containing this word is acted on. E.g. ban the word "giveaway" to stop spam.
- Banned Link — Any message containing a URL is acted on (specific link or all links).
- Banned URL — Block specific domains or all URLs.
- Banned Sticker — Block sticker usage in the group.
- Banned Domain — Block any link from a specific domain (e.g. "bit.ly").
Rule Actions
Each rule can have its own action when triggered:
- Warn — Issue a warning to the user
- Delete — Silently delete the message
- Delete + Warn — Delete message and warn user
- Mute — Mute the user for a set time
- Delete + Mute — Delete message and mute user
- Kick — Remove the user from the group
- Delete + Kick — Delete message and kick user
- Ban — Permanently ban the user
Warning Threshold
Set how many warnings a user can accumulate before a heavier punishment (kick, ban, or mute) is applied automatically. Default is 3 warnings.
Media Bans
You can also ban entire media types from the group:
- Ban Forwarded Messages — Delete any forwarded message
- Ban Photos — Delete all image messages
- Ban Videos — Delete all video messages
- Ban Audio — Delete audio/voice messages
- Ban Documents — Delete file attachments
- Ban Voice Messages — Delete voice notes
- Ban All URLs — Delete any message with a link
- Ban Stickers — Delete sticker messages
Flood (Anti-Spam)
If a user sends too many messages in a short time, HARMAYOH can automatically delete, mute, or kick them. Configure the flood limit and action from group settings.
Cooldown
Limit how often users can send messages. E.g. set a 30-second cooldown so users can only message once every 30 seconds.
/rules Command
Users can send /rules in the group to see the group rules text you've written. Set your rules text from HARMAYOH DMs → your group → Edit Rules Text.
| Command | What it does | Example |
|---|---|---|
| /warn | Issues a warning to the user. After reaching the warning threshold, punishment is applied automatically. | Reply → /warn spamming |
| /unwarn | Removes one warning from the user's count. | Reply → /unwarn |
| /mute | Mutes the user (they can't send messages). Duration set in group settings. | Reply → /mute |
| /unmute | Removes mute from the user. | Reply → /unmute |
| /kick | Removes the user from the group. They can rejoin via invite link. | Reply → /kick |
| /ban | Permanently bans the user. They cannot rejoin. | Reply → /ban |
| /unban | Lifts a ban — the user can rejoin. | Reply → /unban |
| /rules | Shows the group rules to everyone (or just the user who typed it). | /rules |
How it works
When a new member joins, HARMAYOH immediately sends them a private message asking them to answer a question. If they answer correctly within the timeout, they can chat. If they fail or don't answer in time, they are kicked.
Setting up a challenge
Open the challenge settings.
Toggle it on.
Write a question only humans would know. Set the correct answer (or multiple accepted answers).
How many seconds a new member has to answer before being kicked. Default: 90 seconds.
Example challenge
To access the group, please answer this question:
What is 3 + 5?
⏳ You have 90 seconds to respond.
Schedule Types
⏱️ Duration Schedule
Lock the group for a fixed number of hours. After the time expires, the group automatically re-opens. Minimum 5 hours.
Example: Lock for 2 hours while you post an important announcement, then let members chat again.
🔄 Daily Schedule
Set a recurring daily window when the group is admin-only. Outside this window, members can chat freely.
Example: Admin-only every day from 12:00 AM to 8:00 AM. Members can only post from 8 AM onwards.
How to set a schedule
HARMAYOH DMs → your group → Schedules → set the type and duration. HARMAYOH handles enabling and disabling automatically.
🔄 Revoking a bot token
If your token is compromised, go to @BotFather → /mybots → select your bot → Revoke Token. Then in the HARMAYOH app, tap "Revoke Token" and paste the new one. Your bot data is preserved.
💬 Test your bot as a user
Use a second Telegram account to test how your bot looks and works from a regular user's perspective. This helps you catch mistakes before your real users do.
📦 Use custom variables for bank details
Define variables like {bankname}, {accountno}, and {accountname} once. Use them in your deposit message. If details change, update the variable — all messages update instantly.
🛒 Mix Fixed and One-Time products
Use Fixed products for recurring services (monthly VIP), and One-Time products for limited slots (e.g. "Only 1 available: Premium Account"). One-Time products auto-delete after the first purchase.
⚙️ Maintenance before big edits
Before making major changes to messages or settings, enable Maintenance Mode so users see a clean pause message instead of broken or incomplete content.
📋 Keep group rules text simple
When users type /rules, they should see clear, short rules. Bullet points work best. Long rules tend to get ignored. Pin important ones at the top.