diff --git a/README.rst b/README.rst index b6073897f..6442984db 100644 --- a/README.rst +++ b/README.rst @@ -129,11 +129,7 @@ code and building on top of it. - `timerbot `_ uses the ``JobQueue`` to send timed messages. -Examples using only the pure API: - -- `echobot `_ replies back messages. - -- `roboed `_ talks to `Robô Ed `_. +- `echobot `_ uses only the pure API to echo messages. Look at the examples on the `wiki `_ to see other bots the community has built. diff --git a/examples/legacy/echobot.py b/examples/echobot.py similarity index 73% rename from examples/legacy/echobot.py rename to examples/echobot.py index c914c9dc0..06ae496e6 100644 --- a/examples/legacy/echobot.py +++ b/examples/echobot.py @@ -1,16 +1,19 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Simple Bot to reply to Telegram messages +# Simple Bot to reply to Telegram messages. This is built on the API wrapper, see +# echobot2.py to see the same example built on the telegram.ext bot framework. # This program is dedicated to the public domain under the CC0 license. - import logging import telegram from telegram.error import NetworkError, Unauthorized from time import sleep +update_id = None + def main(): + global update_id # Telegram Bot Authorization Token bot = telegram.Bot('TOKEN') @@ -25,7 +28,7 @@ def main(): while True: try: - update_id = echo(bot, update_id) + echo(bot) except NetworkError: sleep(1) except Unauthorized: @@ -33,20 +36,17 @@ def main(): update_id += 1 -def echo(bot, update_id): - +def echo(bot): + global update_id # Request updates after the last update_id for update in bot.getUpdates(offset=update_id, timeout=10): # chat_id is required to reply to any message chat_id = update.message.chat_id update_id = update.update_id + 1 - message = update.message.text - if message: + if update.message: # your bot can receive updates without messages # Reply to the message - bot.sendMessage(chat_id=chat_id, text=message) - - return update_id + bot.sendMessage(chat_id=chat_id, text=update.message.text) if __name__ == '__main__': diff --git a/examples/inlinekeyboard_example.py b/examples/inlinekeyboard.py similarity index 100% rename from examples/inlinekeyboard_example.py rename to examples/inlinekeyboard.py diff --git a/examples/legacy/roboed.py b/examples/legacy/roboed.py deleted file mode 100644 index 1a04668b0..000000000 --- a/examples/legacy/roboed.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# -# Robô Ed Telegram Bot -# This program is dedicated to the public domain under the CC0 license. - -import logging -import telegram -import urllib - - -def main(): - logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') - bot = telegram.Bot('TOKEN') # Telegram Bot Authorization Token - - LAST_UPDATE_ID = bot.getUpdates()[-1].update_id # Get lastest update - - while True: - for update in bot.getUpdates(offset=LAST_UPDATE_ID, timeout=10): - text = update.message.text - chat_id = update.message.chat.id - update_id = update.update_id - - if text: - roboed = ed(text) # Ask something to Robô Ed - bot.sendMessage(chat_id=chat_id, text=roboed) - LAST_UPDATE_ID = update_id + 1 - - -def ed(text): - url = 'http://www.ed.conpet.gov.br/mod_perl/bot_gateway.cgi?server=0.0.0.0%3A8085&charset_post=utf-8&charset=utf-8&pure=1&js=0&tst=1&msg=' + text - data = urllib.urlopen(url).read() - - return data.strip() - - -if __name__ == '__main__': - main()