Skip to main content

Lib that helps with telegram bots

Project description

tg_bot_base

tg_bot_base (в pypi - tg_bot_screen) (далее - TBB) - это Python библиотека для упрощения создания телеграм ботов на базе Python-Telegram-Bot (далее - PTB). При этом планируется сделать TBB независимым от PTB.

Основные возможности

  1. Экраны - позволяют легко переключаться между заранее известными меню

Например. В вашем боте есть главное меню, из которого кнопки ведут в 3 других меню. Для этого вы можете заранее создать всевозможные меню, и организовать систему переходов между ними.
Не придётся переписывать и дублировать меню несколько раз

  1. Режим пользовательского ввода - позволяет принимать от пользователя сообщение в нужный момент, и выходить из этого режима, когда будет нужно.

Это может пригодиться в очень многих ситуациях, когда после нажатия на кнопку или после ввода сообщения нужно принять от пользователя ввод. Для этого бот переключается в режим ожидания ввода, и после того, как пользователь ввёл что-то, вызвалась пользовательская callback-функция

  1. Наличие подробных типов при создании клавиатур - снижает вероятность ошибки во время создания клавиатур и экранов в целом.

В телеграмме клавиатура представляется как двойной массив кнопок. Когда клавиатуры приходится динамически создавать, добавлять к ним строки, кнопки, многократно увеличивается возможность ошибиться. И только после Runtime Error разработчик узнаёт, что допустил ошибку, но даже в этот момент он может не понять, чем она была вызвана. TBB исключает такую возможность: Клавиатура, строка кнопок, кнопка, меню, экран в нём - это отдельные классы, в некоторых из которых прописаны выкидывание ошибок из-за несоответствия типов.

  1. Динамичность - Экраны, меню, текст, клавиатуры в TBB имеют возможность быть динамическими, и генерироваться в моменте.

Это может пригодиться в любых не самых простых ботах, в которых экраны хоть как-то могут меняться. Экран будет создаваться в моменте под определённую ситуацию. Так же это можно использовать для ботов, переведённых на несколько языков

  1. Лёгкий доступ к компонентам - большинство функций в TBB и в вашем боте будет нуждаться лишь в двух аргументах - bot_manager и user_id.

BotManager - это класс, который призван собрать в себе функционал всего бота. Из него есть ссылки к буквально всему - экранам, пользовательским переменным, базам данных, прочим менеджерам.

Установка и использование

pip install tg_bot_screen

Использование

  1. Создайте директорию с вашим проектом
  2. В ней напишите: python -m tg_bot_screen --ptb
  3. Убедитесь, что в вашем окружении есть переменная BOT_TOKEN, в которой записан токен бота из BotFather
  4. Готово! Можете дорабатывать бот

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

tg_bot_screen-1.4.36.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tg_bot_screen-1.4.36-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file tg_bot_screen-1.4.36.tar.gz.

File metadata

  • Download URL: tg_bot_screen-1.4.36.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tg_bot_screen-1.4.36.tar.gz
Algorithm Hash digest
SHA256 0c2ede8b399e7849ae134707165b76f112ef5fa3844cf5b038ffc1f022ce5510
MD5 ead1602f3743eff3d9541d01cebc3873
BLAKE2b-256 99dc085b4e3008d815ffb5e4b87ede9c7e1daa9c3b2d0b6fbf238fd8584a0d01

See more details on using hashes here.

File details

Details for the file tg_bot_screen-1.4.36-py3-none-any.whl.

File metadata

  • Download URL: tg_bot_screen-1.4.36-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tg_bot_screen-1.4.36-py3-none-any.whl
Algorithm Hash digest
SHA256 834eade62435690b68553c2140f30a2d58aaf74ff5876f9f81ff552001057b96
MD5 3ca2523d3101c19a3931db75de1f4f32
BLAKE2b-256 dfe25d772531369c9f6e8cc43974d0717a25dbe50bbfe2558f40d9d437af9b50

See more details on using hashes here.

Supported by

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