Skip to main content

No-code Telegram bot constructor

Project description

telebot-constructor

Free & open-source Telegram bot constructor with no-code web UI, using telebot-components as backend .

Development

Basic dev setup

  1. Install Poetry (tested with versions 1.5 - 1.7). Then, install backend dependencies with
poetry install

# start new shell with poetry-created virtual env activated
poetry shell

If you have problems with poetry, you can manually create everything and install dependencies using pip from requirements.txt generated from poetry dependencies:

# example of virtual env creation and activation for unix systems
python3.12 -m venv venv
source venv/bin/activate

pip install -r requirements.txt
  1. Start backend/API
# set environment variables (example for unix-like systems)
export TELEBOT_CONSTRUCTOR_USE_REDIS_EMULATION=1
export SECRETS_ENCRYPTION_KEY=if-wLoSw7gEbQgY1xLHrEgI4E357PRUAeGfZudnaYu0=  # dummy value

# run the web app
python run_polling.py
  1. With npm v18+ install frontend and start dev server
npm install
npm run dev
  1. Visit http://localhost:8081 in the browser.

Generate TS interfaces from backend data model

On any update to Pydantic data types on backend, run

npm run pydantic:to:ts

Check that JSON schema and Typescript types are updated accordingly.

Backend

Running tests with coverage check

coverage run -m pytest tests -vv
coverage html

Then you can review htmlcov/index.html in browser.

Running linters and code checks

black .
isort .
flake8
mypy

Adding/updating backend dependencies

We keep two versions of the same dependency list:

  • poetry format (pyproject.toml + poetry.lock)
  • regular pip's requirements.txt

To modify dependency list, use poetry add depdendency@contraint.

Then, re-generate requirements.txt with (there is a github action to check it)

poetry export -f requirements.txt --output requirements.txt 

Frontend

We use:

  • Tailwind CSS
  • flowbite component library, see docs
  • svelvet (nodes/connections engine), see docs
  • flowbite-icons-svelte for icons, see catalog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telebot_constructor-0.1.3.tar.gz (455.0 kB view details)

Uploaded Source

Built Distribution

telebot_constructor-0.1.3-py3-none-any.whl (474.7 kB view details)

Uploaded Python 3

File details

Details for the file telebot_constructor-0.1.3.tar.gz.

File metadata

  • Download URL: telebot_constructor-0.1.3.tar.gz
  • Upload date:
  • Size: 455.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for telebot_constructor-0.1.3.tar.gz
Algorithm Hash digest
SHA256 92bce8c69a35f1fd3c11daaf63851b3b56b92a0e066cf19eee55bc570d98b72f
MD5 e9f65d0a7ea29c366f86abee8db35177
BLAKE2b-256 245fc31d519c344e1b899a43c70c2b3ea876c0f357323cc568df6fbd1b3196cd

See more details on using hashes here.

File details

Details for the file telebot_constructor-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for telebot_constructor-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c97db2ebc4e06051faf5b4b634e78e0ef0360a5c53d4413a569695e23250463f
MD5 ea9db3118fe26ae82cc80d9efb79bd1a
BLAKE2b-256 399fba792e62bf275a0da8e912b31f4877dd7208d390bceacaaa2ede08a49089

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page