PROJECT STATUS: DEVELOPMENT
Что такое pytelegrambots?
pytelegrambots - легковесный фреймворк для создания ботов для телеграма.
Содержание
- Установка
- Общее описание
- Использование
- API
- Пример создания бота
- Получение помощи
- Помощь в разработке
- Лицензия
Установка
pip install pytelegrambots
Общее описание
Использование
Для того, что бы создать бота, используя pytelegrambots вы должны:
API
Класс FSM
События
| Состояние | Описание |
|---|---|
IncomingCommandEvent |
Update есть число |
IncomingStartCommandEvent |
Update есть команда /start |
IncomingHelpCommandEvent |
Update есть команда /help |
IncomingNumberEvent |
Update есть число |
IncomingStrictNumberEvent |
Update есть число |
IncomingTextEvent |
Update есть текст |
IncomingStrictTextEvent |
Update есть строгий текст |
IncomingSinglePhotoEvent |
Update есть единичное фото |
Реализация собственных классов событий
Для того, что бы создать свой класс события, необходимо:
- Создать класс, унаследованный от класса
eventlib.UpdateEvent - Реализовать метод
happened(). Метод должен принимать в качестве аргумента объект класса Update, и возвращатьTrueилиFalse, в зависимости от того определяет лиupdateданное событие или нет. Пример: cdferfre
Пример создания бота
- Формулировка задачи
- Предварительная подготовка
- Диаграмма состояний
- Создание пользовательского события
Формулировка задачи
Создадим примитивного бота для доставки пиццы. Сформулируем, что бот должен делать.
Сначала бот приветствует пользователя.
После приветствия, бот просит написать какую пиццу же``лает клиент. (pizza_type: str)
Потом бот просит указать количество пицц. (quantity: int)
Потом посредством клавиатуры просит указать способ получения пиццы клиентом: самовывоз или доставка курьером. (delivery_type: str)
Если самовывоз, бот присылает собеседнику сообщение "Пицца {pizza_type} в количестве {quantity} будет готова через 15 минут. Номер заказа {chat_id}}"
Если клиент выбрал доставку курьером, "Пиццу {pizza_type} в количестве {quantity} курьер привезет через 45 минут."
Предварительная подготовка<a name="example-preliminaries>
Создайте бота при помощи @botfather и получите токен.
Диаграмма состояний
Дадим названия состояниям, в которым может находиться чат пользователя с ботом:
| Состояние | Описание |
|---|---|
| AfterStart | Чат сразу после старта перед приветственным сообщением |
| AfterWelcomeMessage | Чат после приветственного сообщения |
| PromptedForPizzaType | Чат после отображения предложения пользователю написать тип пиццы, который он хочет заказать |
| PromptedForQuantity | Чат после отображения предложения пользователю написать количества заказываемой пиццы |
| PromptedForDeliveryType | Чат после отображения пользователя клавиатуры с выбором одного из двух способов доставки |
| DeliveryByCouurierMessagePosted | Чат после отображения клиенту сообщения о времени получении пицц |
| HimselfDeliveryPosted | Чат после отображения клиенту сообщения о времени получении пицц |
Создание пользовательского события
Получение помощи
Рекомендуемый способ получения помощи- создание вопроса в данном репозитарии. Можете также обратиться по эл. адресу maliuzhenetsdzmitry @ гугляком ()
Помощь в разработке
Лицензия
MIT License Copyright (c) 2020 Dzmitry Maliuzhenets
Metadata
Release files for pywood 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pywood-0.1.3.tar.gz | 17.2 kB | Without provenance | Details for pywood-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pywood-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for pywood-0.1.3-py3-none-any.whl |
Total release size: 43.9 kB
Release files / pywood-0.1.3.tar.gz
| Download URL | pywood-0.1.3.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7db5d5eaff48e0b5edb9d8b3bf0d838697f7776610bced9a9fa721245501dcea
|
|
BLAKE2b-256 checksum How to use checksums |
522526f3a8456f2672edae26da4d416afdc3e08cdc8fe16bd750bfc310ac5dea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6
|
Release files / pywood-0.1.3-py3-none-any.whl
| Download URL | pywood-0.1.3-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36c2d5f9abdfd8c55cbd99feaaf161e185c4371928c750431008fb5e4b875a57
|
|
BLAKE2b-256 checksum How to use checksums |
e6084da135adca23832e5ea0bd8a940017bc473054de80be766c7f774497af28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.6
|
Security for pywood 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.