Skip to content

bot-base/scan-tool-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dde034f Β· Aug 17, 2023

History

7 Commits
Aug 14, 2023
Aug 14, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 14, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023
Aug 17, 2023

Repository files navigation

πŸ€– Scan Tool Bot

Open in Telegram
or
just type @ScanToolBot in message input field

Features

  • Scan QR codes with a camera
  • Generate QR codes
  • Works in any chat via inline mode

Launch

  1. Close repository:
git clone git@github.com:bot-base/scan-tool-bot.git
  1. Create an environment variables file:
cp .env.example .env
  1. Launch web app following the instructions in webapp/README.md.

  2. Set BOT_TOKEN, WEBAPP_URL, API_URL environment variables in .env file.

  3. 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

List of available commands

  • 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.

Environment Variables

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.