Lightweight framework to build Telegram bots.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pywood-0.1.3.tar.gz
.
File metadata
- Download URL: pywood-0.1.3.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7db5d5eaff48e0b5edb9d8b3bf0d838697f7776610bced9a9fa721245501dcea |
|
MD5 | 5aab1175806e344daf67418ad91148bf |
|
BLAKE2b-256 | 522526f3a8456f2672edae26da4d416afdc3e08cdc8fe16bd750bfc310ac5dea |
File details
Details for the file pywood-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: pywood-0.1.3-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36c2d5f9abdfd8c55cbd99feaaf161e185c4371928c750431008fb5e4b875a57 |
|
MD5 | 23fcbe874f0b8a6bff8731fadb3cd892 |
|
BLAKE2b-256 | e6084da135adca23832e5ea0bd8a940017bc473054de80be766c7f774497af28 |