forked from JungDev/django-telegrambot
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/JungDev/django-telegrambot
- Loading branch information
Showing
9 changed files
with
251 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
.. :changelog: | ||
|
||
History | ||
------- | ||
0.2.0 (2016-04-27) | ||
++++++++++++++++++ | ||
|
||
* Update for python-telegram-bot release v4.0.1 | ||
|
||
0.1.8 (2016-03-22) | ||
++++++++++++++++++ | ||
|
||
* Update for deprecation in python-telegram-bot release v3.4 | ||
|
||
0.1.5 (2016-01-28) | ||
++++++++++++++++++ | ||
|
||
* Fix compatibility. | ||
|
||
0.1.4 (2016-01-28) | ||
++++++++++++++++++ | ||
|
||
* Fix compatibility. | ||
|
||
0.1.3 (2016-01-28) | ||
++++++++++++++++++ | ||
|
||
* Fix setting certificate. | ||
* Add method DjangoTelegramBot.getBot(); get bot instance by token or username. | ||
|
||
0.1.2 (2016-01-26) | ||
++++++++++++++++++ | ||
|
||
* First release on PyPI. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
============================= | ||
django-telegrambot | ||
============================= | ||
|
||
.. image:: https://badge.fury.io/py/django-telegrambot.png | ||
:target: https://badge.fury.io/py/django-telegrambot | ||
|
||
.. image:: https://travis-ci.org/JungDev/django-telegrambot.png?branch=master | ||
:target: https://travis-ci.org/JungDev/django-telegrambot | ||
|
||
A simple app to develop Telegram bots with Django | ||
|
||
Documentation | ||
------------- | ||
|
||
The full documentation is at https://django-telegrambot.readthedocs.org. | ||
|
||
Quickstart | ||
---------- | ||
|
||
Install django-telegrambot:: | ||
|
||
pip install django-telegrambot | ||
|
||
Configure your installation | ||
--------------------------- | ||
|
||
Add ``django_telegrambot`` in ``INSTALLED_APPS`` :: | ||
|
||
#settings.py | ||
INSTALLED_APPS = ( | ||
... | ||
'django_telegrambot', | ||
... | ||
) | ||
|
||
And set your bots:: | ||
|
||
#settings.py | ||
#Django Telegram Bot settings | ||
TELEGRAM_BOT_TOKENS = ('BOT_1_token','BOT_2_token',) | ||
TELEGRAM_WEBHOOK_SITE = 'https://mysite.it' | ||
TELEGRAM_WEBHOOK_BASE = '/baseurl' | ||
#TELEGRAM_WEBHOOK_CERTIFICATE = 'cert.pem' #If your site use self-signed certificate, must be set with location of your public key certificate. (More info at https://core.telegram.org/bots/self-signed ) | ||
|
||
|
||
Include in your urls.py the ``django_telegrambot.urls`` using the same value of ``TELEGRAM_WEBHOOK_BASE`` :: | ||
|
||
#urls.py | ||
urlpatterns = [ | ||
... | ||
url(r'^baseurl/', include('django_telegrambot.urls')), | ||
... | ||
] | ||
|
||
Then use it in a project creating a module ``telegrambot.py`` in your app :: | ||
|
||
#myapp/telegrambot.py | ||
from telegram.ext import CommandHandler, MessageHandler, Filters | ||
from django_telegrambot.apps import DjangoTelegramBot | ||
|
||
# Define a few command handlers. These usually take the two arguments bot and | ||
# update. Error handlers also receive the raised TelegramError object in error. | ||
def start(bot, update): | ||
bot.sendMessage(update.message.chat_id, text='Hi!') | ||
|
||
|
||
def help(bot, update): | ||
bot.sendMessage(update.message.chat_id, text='Help!') | ||
|
||
|
||
def echo(bot, update): | ||
bot.sendMessage(update.message.chat_id, text=update.message.text) | ||
|
||
|
||
def error(bot, update, error): | ||
logger.warn('Update "%s" caused error "%s"' % (update, error)) | ||
|
||
|
||
def main(): | ||
logger.info("Loading handlers for telegram bot") | ||
|
||
# Default dispatcher (this is related to the first bot in settings.TELEGRAM_BOT_TOKENS) | ||
dp = DjangoTelegramBot.dispatcher | ||
# To get Dispatcher related to a specific bot | ||
# dp = DjangoTelegramBot.getDispatcher('BOT_n_token') #get by bot token | ||
# dp = DjangoTelegramBot.getDispatcher('BOT_n_username') #get by bot username | ||
|
||
# on different commands - answer in Telegram | ||
dp.addHandler(CommandHandler("start", start)) | ||
dp.addHandler(CommandHandler("help", help)) | ||
|
||
# on noncommand i.e message - echo the message on Telegram | ||
dp.addHandler(MessageHandler([Filters.text], echo)) | ||
|
||
# log all errors | ||
dp.addErrorHandler(error) | ||
|
||
|
||
Features | ||
-------- | ||
|
||
* Multiple bots | ||
|
||
Contributing | ||
------------ | ||
|
||
Patches and bug reports are welcome, just please keep the style consistent with the original source. | ||
|
||
Running Tests | ||
-------------- | ||
|
||
Does the code actually work? | ||
|
||
:: | ||
|
||
source <YOURVIRTUALENV>/bin/activate | ||
(myenv) $ pip install -r requirements-test.txt | ||
(myenv) $ python runtests.py | ||
|
||
Credits | ||
--------- | ||
Required package: | ||
* `Python Telegram Bot`_ | ||
|
||
.. _`Python Telegram Bot`: https://github.com/python-telegram-bot/python-telegram-bot | ||
|
||
Tools used in rendering this package: | ||
|
||
* Cookiecutter_ | ||
|
||
.. _Cookiecutter: https://github.com/audreyr/cookiecutter | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
__version__ = '0.2.0' | ||
default_app_config = 'django_telegrambot.apps.DjangoTelegramBot' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# -*- coding: utf-8 -*- | ||
# Example code for telegrambot.py module | ||
from telegram.ext import CommandHandler, MessageHandler, Filters | ||
from django_telegrambot.apps import DjangoTelegramBot | ||
|
||
import logging | ||
logger = logging.getLogger(__name__) | ||
|
||
|
||
# Define a few command handlers. These usually take the two arguments bot and | ||
# update. Error handlers also receive the raised TelegramError object in error. | ||
def start(bot, update): | ||
bot.sendMessage(update.message.chat_id, text='Hi!') | ||
|
||
|
||
def help(bot, update): | ||
bot.sendMessage(update.message.chat_id, text='Help!') | ||
|
||
|
||
def echo(bot, update): | ||
bot.sendMessage(update.message.chat_id, text=update.message.text) | ||
|
||
|
||
def error(bot, update, error): | ||
logger.warn('Update "%s" caused error "%s"' % (update, error)) | ||
|
||
|
||
def main(): | ||
logger.info("Loading handlers for telegram bot") | ||
|
||
# Default dispatcher (this is related to the first bot in settings.TELEGRAM_BOT_TOKENS) | ||
dp = DjangoTelegramBot.dispatcher | ||
# To get Dispatcher related to a specific bot | ||
# dp = DjangoTelegramBot.getDispatcher('BOT_n_token') #get by bot token | ||
# dp = DjangoTelegramBot.getDispatcher('BOT_n_username') #get by bot username | ||
|
||
# on different commands - answer in Telegram | ||
dp.addHandler(CommandHandler("start", start)) | ||
dp.addHandler(CommandHandler("help", help)) | ||
|
||
# on noncommand i.e message - echo the message on Telegram | ||
dp.addHandler(MessageHandler([Filters.text], echo)) | ||
|
||
# log all errors | ||
dp.addErrorHandler(error) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
django>=1.8.0 | ||
# Additional requirements go here | ||
python-telegram-bot>=4.0.1 | ||
python-telegram-bot>=5.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
django>=1.8.0 | ||
# Additional requirements go here | ||
python-telegram-bot>=4.0.1 |