Setup guide, command reference, troubleshooting, and full FAQ.
What do I need before generating my bot?
Three things before you start:
How do I find my group's chat ID?
Generate your bot with the ID Command feature selected. Add it to your group, start it, then type /id in the group. The Chat ID shown is the value to put in your .env as GROUP_ID_1.
Chat IDs for supergroups always start with -100. If your group was recently converted from a regular group, the ID will have changed. The /id command always shows the current correct ID.
How do I make the bot an admin?
Open your Telegram group, tap the group name at the top, go to Administrators, tap Add Admin, search for your bot, and enable at minimum: Delete Messages and Ban Users. Without these permissions moderation commands will silently fail.
Why do I need to disable privacy mode?
By default Telegram bots only see messages that start with /. Disabling privacy mode lets the bot read all messages, which is required for features like word filter, anti-spam, anti-link, auto-reply, and rank XP tracking.
To disable: message @BotFather, send /setprivacy, choose your bot, select Disable.
BotForge has 45 features split across three tiers. A Pro key unlocks all 45. A Growth key unlocks Starter and Growth features (30 total).
For commands that target a user: reply to their message OR type @username. @mention only works for users who have sent at least one message in the group since the bot last started.
Free (Starter)
/help
Syntax: /help
✅ /help
Shows all commands available in your bot.
/rules
Syntax: /rules
✅ /rules
Displays the group rules configured at generation time.
/id
Syntax: /id
✅ /id
Shows your user ID and the chat ID. Reply to see another user's ID.
/warn
Syntax: /warn <user>
✅ /warn @John or reply to message
❌ /warn John (plain name)
Admin only. Reaches max warnings: triggers configured action (mute/ban/kick).
/unwarn
Syntax: /unwarn <user>
✅ /unwarn @John
Admin only. Removes one warning.
/warns
Syntax: /warns [user]
✅ /warns or /warns @John
Check warning count.
/mute
Syntax: /mute <user> [duration]
✅ /mute @John 30m
❌ /mute @John 30 (missing unit)
Admin only. Duration: 30s, 5m, 2h, 7d. Omit for permanent.
/unmute
Syntax: /unmute <user>
✅ /unmute @John
Admin only.
/ban
Syntax: /ban <user>
✅ /ban @John or reply
❌ /ban John Doe (spaces not valid)
Admin only. Permanent ban.
/unban
Syntax: /unban <user>
✅ /unban @John
Admin only.
/kick
Syntax: /kick <user>
✅ /kick @John
Admin only. User can rejoin via invite link.
/pin
Syntax: /pin (reply to message)
✅ Reply to a message, then /pin
❌ /pin Some text (must reply)
Admin only.
/unpin
Syntax: /unpin
✅ /unpin
Admin only. Unpins all pinned messages.
/say
Syntax: /say <message>
✅ /say Hello everyone!
❌ /say (no message)
Admin only. Bot sends and deletes your command.
Growth
/broadcast
Syntax: /broadcast <message>
✅ /broadcast Server down at 10PM
❌ /broadcast (no message)
Admin only. Sends to all configured groups.
/slowmode
Syntax: /slowmode <seconds>
✅ /slowmode 30
❌ /slowmode 30m (use seconds, not duration)
Admin only. 0 to disable. Max 3600.
/members
Syntax: /members
✅ /members
Shows current member count.
/poll
Syntax: /poll <question> | <opt1> | <opt2>
✅ /poll Best day? | Monday | Friday
❌ /poll Best day? Monday Friday (must use |)
Admin only. Minimum 2 options.
/lock
Syntax: /lock
✅ /lock
Admin only. Prevents non-admins from sending messages.
/unlock
Syntax: /unlock
✅ /unlock
Admin only. Restores send permissions.
/lockstatus
Syntax: /lockstatus
✅ /lockstatus
Admin only.
/note
Syntax: /note <user> <text>
✅ /note @John Warned for spam
❌ /note @John (no text)
Admin only. Private admin note.
/notes
Syntax: /notes <user>
✅ /notes @John
Admin only.
/clearnotes
Syntax: /clearnotes <user>
✅ /clearnotes @John
Admin only.
/logs
Syntax: /logs
✅ /logs
Admin only. Bot DMs you the log file. Start a private chat with the bot first.
/afk
Syntax: /afk [reason]
✅ /afk Back in 30 minutes
Marks you as away. Auto-cleared when you next send a message.
Pro
/rep
Syntax: /rep [user]
✅ /rep or /rep @John
Check reputation score.
/top
Syntax: /top
✅ /top
Reputation leaderboard.
/rank
Syntax: /rank [user]
✅ /rank or /rank @John
Shows XP and level progress.
/leaderboard
Syntax: /leaderboard
✅ /leaderboard
Top users by XP.
/stats
Syntax: /stats
✅ /stats
Admin only. Message and join activity.
/ticket
Syntax: /ticket <message>
✅ /ticket I cannot access the channel
❌ /ticket (no description)
One open ticket per user at a time.
/closeticket
Syntax: /closeticket <id>
✅ /closeticket 5
Admin only.
/setbio
Syntax: /setbio <text>
✅ /setbio Developer and coffee fan
Max 150 characters.
/bio
Syntax: /bio [user]
✅ /bio or /bio @John
View a user's bio.
/profile
Syntax: /profile [user]
✅ /profile @John
Shows name and bio.
/title
Syntax: /title <user> <title>
✅ /title @John Lead Moderator
❌ /title @John (no title text)
Admin only. Assigns a custom role title.
/whoami
Syntax: /whoami
✅ /whoami
Your own title.
/whois
Syntax: /whois <user>
✅ /whois @John
Another user's title.
/setbirthday
Syntax: /setbirthday MM-DD
✅ /setbirthday 06-15
❌ /setbirthday 15-06 (wrong order) or /setbirthday June 15
Bot sends birthday message automatically each year.
My bot is not responding to any commands.
Work through this checklist in order:
Commands show up in the menu but do nothing when I tap them.
The commands are registered but the bot is not running, or it is running against the wrong group ID. Verify the bot is started (launcher window open and showing the startup message) and that GROUP_ID_1 is correct.
@mention does not work for ban/warn/mute.
@mention resolution only works for users who have sent at least one message in the group since the bot started. For users who have not spoken yet, always reply to one of their messages instead of using @mention. The bot learns usernames as people talk.
The bot says 'Group -XXXXXXXXX - failed' for broadcast.
The group ID in your .env does not match the actual group. Use /id in your group to get the correct ID, update GROUP_ID_1 in your .env, and restart the bot.
The bot stops when I close my computer.
That is expected. The bot only runs while the launcher window is open. To keep it running permanently you need to host it on a server. The Advanced - Hosting Guide.md inside your bot folder walks through free options including Railway and Render.
TypeScript compile errors when starting the bot.
Make sure you are using Node.js 18 or higher. The launcher checks this automatically. If you see a specific error, share the full console output (including the error message and the lines above it) with support@tgbotforge.com along with your bot.log file.
The bot joined my group but I cannot see it in the members list.
In large supergroups Telegram sometimes hides bots from the visible member list even when they are present. Try sending a command directly. If the bot responds, it is working correctly.
What is a license key?
A license key is a personal code that unlocks Growth or Pro features in the wizard. You receive it in your purchase receipt email from Dodo Payments immediately after payment. Enter it in Step 1 or Step 4 of the wizard.
How many bots can I generate with one key?
Each paid key allows up to 3 bot generations total. This is a lifetime limit, not a daily one. Additional generations are evaluated case by case by support and are not guaranteed. If you need more than 3 generations regularly, purchasing a new key is the standard path.
I used all 3 generations. Can I get more?
Contact support@tgbotforge.com. We review requests individually. Additional generations are not guaranteed and depend on the circumstances. Purchasing a new key is the standard option.
What happens when my Pro subscription expires?
Your existing bot keeps running. You own the code and it has no phone-home or kill switch. You just cannot generate new bots with the expired key. Renewing the subscription restores generation access.
Do Pro subscribers get faster support?
Yes. Pro subscribers receive top priority in the support queue. Growth and Starter requests are handled on a best-effort basis after Pro tickets.
What is the refund policy?
All sales are final once a bot has been generated or a license key has been issued, due to the digital nature of the product. If you have a problem before generating, contact support@tgbotforge.com and we will help resolve it.
Can I share my license key with someone else?
No. Keys are personal and non-transferable. Sharing a key is a violation of the Terms of Service and will result in the key being revoked without refund.
Can I modify the generated code?
The generated code is provided for your personal use under the BotForge license. Modifications are technically possible since you have the source files, but any changes you make are entirely at your own risk. BotForge is not responsible for issues caused by modified code and will not provide support for modified bots.
If something is not working as expected on an unmodified bot, contact support and we will help. If you have modified the code, we may ask you to regenerate a clean version before investigating.
Can I use the generated bot commercially?
You may use your generated bot to manage your own Telegram communities, including communities related to a business. You may not resell, redistribute, or repackage the generated code as your own product.
What is the Feedback Board?
The Feedback Board at tgbotforge.com/feedback is a public suggestion board where anyone can submit feature requests or ideas and vote on existing ones. No account is required.
Is it really anonymous?
Yes. Your IP address is hashed with SHA-256 before being stored - the raw IP is never saved. You can optionally add a Telegram username to your submission, but this is entirely optional and is purely for public display so we can follow up if needed.
How many suggestions can I submit?
You can submit up to 2 suggestions per day per IP address. This limit exists to prevent spam.
How does voting work?
Each IP address gets one vote per suggestion. You can upvote or downvote. Clicking the same button again removes your vote. Clicking the opposite button switches direction. The net score (upvotes minus downvotes) determines the default sort order.
Do you act on feedback?
Yes. We review submissions regularly and update the status badge on each suggestion to one of: Under Review, Planned, In Progress, Done, or Declined. High-scoring suggestions are the most likely to be prioritised.
Can I delete my suggestion?
Submissions cannot be self-deleted since they are anonymous. If you need a suggestion removed, email support@tgbotforge.com with the content of the suggestion and we will remove it.
Email us at support@tgbotforge.com. Pro subscribers receive top priority. When reporting a bug, please include your bot.log file and describe the exact steps to reproduce the issue.
Have a feature idea? Post it on the Feedback Board - no signup required.