Skip to main content

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


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)

Uploaded Source

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