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 hashes)

Uploaded source

Built Distribution

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

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page