 
Open in Telegram
 or 
just type @ScanToolBot in message input field
- Scan QR codes with a camera
- Generate QR codes
- Works in any chat via inline mode
- Close repository:
git clone git@github.com:bot-base/scan-tool-bot.git- Create an environment variables file:
cp .env.example .env- 
Launch web app following the instructions in webapp/README.md. 
- 
Set BOT_TOKEN, WEBAPP_URL, API_URL environment variables in .envfile.
- 
Launch bot Development mode: # 1. Install dependencies npm i # 2. Set BOT_SERVER_HOST to localhost # Set BOT_SERVER_PORT to any available port # 2. Run bot (in watch mode) npm run dev Production mode: # 1. Install dependencies npm i --only=prod # 2. Set NODE_ENV to production # Change BOT_WEBHOOK to the actual URL to receive updates # 3. Run bot npm start # or npm run start:force # if you want to skip type checking 
- npm run lint— Lint source code.
- npm run format— Format source code.
- npm run typecheck— Runs type checking.
- npm run dev— Starts the bot in development mode.
- npm run start— Starts the bot.
- npm run start:force— Starts the bot without type checking.
| Variable | Type | Description | 
|---|---|---|
| NODE_ENV | String | Application environment ( developmentorproduction) | 
| BOT_TOKEN | String | Token, get it from @BotFather. | 
| BOT_WEBHOOK | String | Webhook endpoint, used to configure webhook in production environment. | 
| WEBAPP_URL | String | HTTPS link to Web App. | 
| API_URL | String | `/api` endpoint (must be public and available to Telegram) | 
| LOG_LEVEL | String | Optional.
        Application log level. 
        See Pino docs for a complete list of available log levels. Defaults to info. | 
| BOT_SERVER_HOST | String | Optional. Server address. Defaults to 0.0.0.0. | 
| BOT_SERVER_PORT | Number | Optional. Server port. Defaults to 80. | 
| BOT_ALLOWED_UPDATES | Array of String | Optional. A JSON-serialized list of the update types you want your bot to receive. See Update for a complete list of available update types. Defaults to an empty array (all update types except chat_member). | 
| BOT_ADMIN_USER_ID | Number or Array of Number | Optional. Administrator user ID. Commands such as /setcommandswill only be available to a user with this ID.Defaults to an empty array. |