Yet another common wrapper for Telegram bots and Alice skills
Project description
tgalice
This is yet another common Python wrapper for Telegram bots* and Alice skills.
Currently, it provides:
- An (almost) unified interface between your bot and Telegram or Alice:
DialogConnector
- A number of simple dialogue constructors:
BaseDialogManager
and its flavors - A wrapper for storing dialogue state:
BaseStorage
and its flavors
These three components may be combined as follows:
import tgalice
connector = tgalice.dialog_connector.DialogConnector(
dialog_manager=tgalice.dialog_manager.BaseDialogManager(),
storage=tgalice.session_storage.FileBasedStorage(path='sessions')
)
Now you can plug both Alice and Telegram into the connector. In the example below, they are served with Flask.
@app.route("/" + ALICE_URL, methods=['POST'])
def alice_response():
response = connector.respond(request.json, source='alice')
return json.dumps(response, ensure_ascii=False, indent=2)
@bot.message_handler(func=lambda message: True)
def telegram_response(message):
response = connector.respond(message, source='telegram')
bot.reply_to(message, **response)
The examples directory contains more detailed examples of how to create dialogs and serve the bot.
** The Telegram wrapper is based on the pyTelegramBotAPI package.
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
tgalice-0.0.2.tar.gz
(4.2 kB
view hashes)