Skip to main content

A python module to auto build conversation for a Telegram bot

Project description

Setup

pip3 install telegram-autoconv

Requirements

  • Python 3.8

Import

from autoconv.state import State
from autoconv.conversation import Conversation
from autoconv.autoconv_handler import AutoConvHandler

Documentation

I know you want examples, in fact there is a beautiful folder with some examples.
But here, you can find a little documentation.

State

State(name,message,type=int,parse_mode=None)
  • name: State name (and key for data dictionary). {str}
  • message: message you want to print in that state. {str}
  • type: data type. {type}
  • parse_mode: Telegram message parse mode. {Telegram.parse_mode}
# callback handler
add_keyboard(keyboard,size=None)
  • keyboard: inline keyboard. Can be a dict (with custom value as key) or a list (default int value as key). {name list or value:name dict}
  • size: size for each row of the keyboard. {int tuple}
# text handler
add_text(regex=None,error_message=None)
  • regex: regex for input text. {str}
  • error_message: error message when regex fails. {str}
# function to execute in this state
add_action(function)
  • function: function must have two parameters (update and context). It can return a str, repleacing 3 @ (@@@) in the message. {func}

Conversation

Conversation(start_state,end_state=None)
  • start_state: first State of the conversation. {State}
  • end_state: if exists, final State of the conversation. {State}
# add state to the conversation
add_state(State)
  • State: Add a State or a list of State to the conversation. {State or State list}
# add state to the conversation
add_route(state,ruotes=None,default=None,back=None)
  • state: initial State of the ruote. {State}
  • routes: routes where a state should go for every possibile data received. {value:State dict}
  • default: default route if value isn't in ruotes. {State}
  • back: route to go when the back button is pressed. {State}

AutoConvHandler

AutoConvHandler(conversation,telegram_state,back_button=None)
  • conversation: conversation to handle. {Conversation}
  • telegram_state: Telegram state name to handle callback, text and other things. {Telegram.handler}
  • back_button: default back button for every State. {str}
# manage conversation with update and context
manage_conversation(update,context)
  • update and context: from telegram bot function. {Telegram.update and Telegram.context}

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

telegram-autoconv-0.0.2b0.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file telegram-autoconv-0.0.2b0.tar.gz.

File metadata

  • Download URL: telegram-autoconv-0.0.2b0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for telegram-autoconv-0.0.2b0.tar.gz
Algorithm Hash digest
SHA256 3a30571a24139d27b88f2a432b44055d9ceaa23654b7790859b5e6e30c6717ad
MD5 5e123540b24f20cdd20f1309d3e46adc
BLAKE2b-256 bc6f15b80cac84fa209014897621346dd194c8cbaf18c2324d8db2787625f82e

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