TechSupportBot is a Telegram bot for user support, bug reporting, idea collection, and development order requests. The bot supports multiple languages and can work both in polling mode (locally) and via webhook (e.g., on Vercel).
- Accepts user requests (bug reports, feature suggestions, development orders)
- Supports attachments: text, photos, videos, documents
- Multilingual interface (Russian, English, Japanese, Spanish)
- Notifies a dedicated support chat about new tickets
- Ticket status system (new, in progress, completed, review)
- Users can change the interface language
git clone https://github.com/Nighty3098/TechSupportBot.git
cd TechSupportBotnpm installCreate a .env file in the project root and specify:
BOT_TOKEN=your_bot_token
SUPPORT_CHAT_USERNAME=support_chat_or_user
NOTIFY_CHAT=chat_id_for_tickets
BOT_TOKENβ your Telegram bot tokenSUPPORT_CHAT_USERNAMEβ username of the support chat/user for development ordersNOTIFY_CHATβ chat ID (e.g.,-1001234567890) where tickets will be sent
npm run devThe bot will start in polling mode (for development).
- Use the function from
api/bot.tsas the webhook endpoint. - Set environment variables in your Vercel project settings.
- In Telegram, set the webhook to your Vercel endpoint URL.
src/bot.tsβ main bot logicsrc/locales/β language filesapi/bot.tsβ webhook endpoint (for Vercel)src/local.tsβ polling mode launcher for local development
/startβ greeting and main menu- Menu buttons:
- Bug report
- Suggest an idea
- Order development
- Change language
The user selects a category, sends a message (and optionally attachments). The ticket is sent to the support chat with a status change button. When the status is changed, the user receives a notification.
Supported languages:
- Russian
- English
- Japanese
- Spanish
- telegraf β Telegram Bot API framework
- dotenv β environment variables
- @vercel/node β serverless functions for Vercel
- typescript
npm run buildβ build TypeScriptnpm run devβ run in development mode (polling)npm run startβ run (polling)npm run localβ run (polling)
ISC