Skip to main content

Lightweight framework to build Telegram bots.

Project description

PROJECT STATUS: DEVELOPMENT

Что такое pytelegrambots?

pytelegrambots - легковесный фреймворк для создания ботов для телеграма.

Содержание

Установка

pip install pytelegrambots

Общее описание

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

Для того, что бы создать бота, используя pytelegrambots вы должны:

API

Класс FSM

События

Состояние Описание
IncomingCommandEvent Update есть число
IncomingStartCommandEvent Update есть команда /start
IncomingHelpCommandEvent Update есть команда /help
IncomingNumberEvent Update есть число
IncomingStrictNumberEvent Update есть число
IncomingTextEvent Update есть текст
IncomingStrictTextEvent Update есть строгий текст
IncomingSinglePhotoEvent Update есть единичное фото

Реализация собственных классов событий

Для того, что бы создать свой класс события, необходимо:

  1. Создать класс, унаследованный от класса eventlib.UpdateEvent
  2. Реализовать метод 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


Download files

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

Source Distribution

pywood-0.1.3.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

pywood-0.1.3-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

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

Hashes for pywood-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7db5d5eaff48e0b5edb9d8b3bf0d838697f7776610bced9a9fa721245501dcea
MD5 5aab1175806e344daf67418ad91148bf
BLAKE2b-256 522526f3a8456f2672edae26da4d416afdc3e08cdc8fe16bd750bfc310ac5dea

See more details on using hashes here.

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

Hashes for pywood-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 36c2d5f9abdfd8c55cbd99feaaf161e185c4371928c750431008fb5e4b875a57
MD5 23fcbe874f0b8a6bff8731fadb3cd892
BLAKE2b-256 e6084da135adca23832e5ea0bd8a940017bc473054de80be766c7f774497af28

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