Django app to write Telegram bots
Project description
CI:
PyPI:
Docs:
Django app to write Telegram bots. Just define commands and how to handle them.
NOTE: Just for text messages at this moment.
Documentation
The full documentation is at https://django-telegram-bot.readthedocs.org.
Telegram API documentation at https://core.telegram.org/bots/api
Quickstart
Install django-telegram-bot:
pip install django-telegram-bot
Add telegrambot and rest_framework to your INSTALLED_APPS, and run:
$ python manage.py migrate
After creating a bot in Telegram Platform set token received:
TELEGRAM_BOT_TOKEN = "token from your telegram bot"
Add webhook url to your urlpatterns:
url(r'^telegrambot/', include('telegrambot.urls', namespace="telegrambot")
Define whe file where commands will be defined in bothandlers variable, analogue to django urls and ROOT_URLCONF:
TELEGRAM_BOT_HANDLERS_CONF = "app.handlers"
Set bot commands handlers is very easy just as defining urls in django. Module with bothandlers that list different handlers:
bothandlers = [command('start', StartView.as_command_view()), command('author', AuthorCommandView.as_command_view()), command('author_inverse', AuthorInverseListView.as_command_view()), command('author_query', AuthorCommandQueryView.as_command_view()), unknown_command(UnknownView.as_command_view()), regex(r'author_(?P<name>\w+)', AuthorName.as_command_view()), ]
Use command set_webhook to specify the url to receive the incoming updates via webhook:
$ python manage.py set_webhook
To set the webhook for telegram you need django.contrib.sites installed, SITE_ID configured in settings and with it correct value in the DB.
Command views responses with Telegram messages to the user who send the command with a text message and keyboard. Compound with a context and a template. The way it is handled is analogue to Django views. Visits docs for more details https://django-telegram-bot.readthedocs.org/usage.html
Features
Commands handling definition.
Text responses and keyboards.
Media messages not supported.
Only Markup parse mode.
Running Tests
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install -r requirements/test.txt (myenv) $ make test (myenv) $ make test-all
History
0.1.0 (2016-21-01)
First release on PyPI.
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
Built Distribution
Hashes for django-telegram-bot-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 141794fa4aa20d36e848faaa3f9eac5cd1a6cf8781dc3fc190a438f0cfe39c56 |
|
MD5 | 1a9312f33a5e758505c7e05b83f91dff |
|
BLAKE2b-256 | 4c17377e06305cfc1009c5fc23307b8c444116b0e671f4e934f9328ff801672c |
Hashes for django_telegram_bot-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a07eec442b246722c26fafc6e510ce9e137529c453ac146d1881c5af8bdf7bf1 |
|
MD5 | 482482fe7c720be774af06d69956bea4 |
|
BLAKE2b-256 | 08a38a5f741b0d389cffdf704bf515c889b17f6d708d725e51a8b01ebc80f131 |