old_contents: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  #
  # Simple Bot to reply to Telegram messages
  # This program is dedicated to the public domain under the CC0 license.
  """
  This Bot uses the Updater class to handle the bot.
  
  First, a few handler functions are defined. Then, those functions are passed to
  the Dispatcher and registered at their respective places.
  Then, the bot is started and runs until we press Ctrl-C on the command line.
  
  Usage:
  Basic Echobot example, repeats messages.
  Press Ctrl-C on the command line or send a signal to the process to stop the
  bot.
  """
  
  from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
  import logging
  import os
  
  
  # Enable logging
  logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                      level=logging.INFO)
  
  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):
      update.message.reply_text('Hi!')
  
  
  def help(bot, update):
      update.message.reply_text('Help!')
  
  
  def echo(bot, update):
      update.message.reply_text(update.message.text)
  
  
  def error(bot, update, error):
      logger.warn('Update "%s" caused error "%s"' % (update, error))
  
  def main():
      # Create the EventHandler and pass it your bot's token.
      TOKEN = os.environ['TELEGRAM_TOKEN']
      PORT = int(os.environ.get('PORT', '5000'))
      updater = Updater(TOKEN)
  
      # Get the dispatcher to register handlers
      dp = updater.dispatcher
  
      # on different commands - answer in Telegram
      dp.add_handler(CommandHandler("start", start))
      dp.add_handler(CommandHandler("help", help))
  
      # on noncommand i.e message - echo the message on Telegram
      dp.add_handler(MessageHandler(Filters.text, echo))
  
      # log all errors
      dp.add_error_handler(error)
  
      # Start the Bot
      updater.start_webhook(listen="0.0.0.0",
                        port=PORT,
                        url_path=TOKEN)
      updater.bot.set_webhook("https://ablebot.herokuapp.com/" + TOKEN)
      # Run the bot until you press Ctrl-C or the process receives SIGINT,
      # SIGTERM or SIGABRT. This should be used most of the time, since
      # start_polling() is non-blocking and will stop the bot gracefully.
      updater.idle()
  
  
  if __name__ == '__main__':
      main()
  
new_contents: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  #
  # Simple Bot to reply to Telegram messages
  # This program is dedicated to the public domain under the CC0 license.
  """
  This Bot uses the Updater class to handle the bot.
  
  First, a few handler functions are defined. Then, those functions are passed to
  the Dispatcher and registered at their respective places.
  Then, the bot is started and runs until we press Ctrl-C on the command line.
  
  Usage:
  Basic Echobot example, repeats messages.
  Press Ctrl-C on the command line or send a signal to the process to stop the
  bot.
  """
  
  from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
  import logging
  import os
  
  
  # Enable logging
  logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                      level=logging.INFO)
  
  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):
      update.message.reply_text('Hi!')
  
  
  def help(bot, update):
      update.message.reply_text('Help!')
  
  
  def isCommand(bot, update):
      if update.message.text.find('$') == 0:
          update.message.reply_text(update.message.text)
      else:
          update.message.reply_text('Not a command!')
  
  
  def error(bot, update, error):
      logger.warn('Update "%s" caused error "%s"' % (update, error))
  
  def main():
      # Create the EventHandler and pass it your bot's token.
      TOKEN = os.environ['TELEGRAM_TOKEN']
      PORT = int(os.environ.get('PORT', '5000'))
      updater = Updater(TOKEN)
  
      # Get the dispatcher to register handlers
      dp = updater.dispatcher
  
      #  on noncommand i.e message - echo the message on Telegram
      dp.add_handler(MessageHandler(Filters.text, isCommand))
  
      # log all errors
      dp.add_error_handler(error)
  
      # Start the Bot
      updater.start_webhook(listen="0.0.0.0",
                        port=PORT,
                        url_path=TOKEN)
      updater.bot.set_webhook("https://ablebot.herokuapp.com/" + TOKEN)
      # Run the bot until you press Ctrl-C or the process receives SIGINT,
      # SIGTERM or SIGABRT. This should be used most of the time, since
      # start_polling() is non-blocking and will stop the bot gracefully.
      updater.idle()
  
  
  if __name__ == '__main__':
      main()
  
  '''
      # on different commands - answer in Telegram
      dp.add_handler(CommandHandler("start", start))
      dp.add_handler(CommandHandler("help", help))
  '''
subject: Test for commands