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 [email protected]: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
.env
file. -
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 (development or production ) |
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 /setcommands will only be available to a user with this ID. Defaults to an empty array. |