LCMbot.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding: utf-8 -*-
  2. from telegram.ext import (Updater, CommandHandler, MessageHandler, Filters,
  3. CallbackQueryHandler)
  4. import handlers as hnd
  5. from tale_handler import TaleHandler
  6. import os
  7. import logging
  8. logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
  9. level=logging.INFO)
  10. #acquire token from environment variable LCMBOT_TOKEN (string type)
  11. lcmbot_token = os.environ.get('LCMBOT_TOKEN')
  12. def main():
  13. # create LCMbot
  14. updater = Updater(lcmbot_token, use_context=True)
  15. dp = updater.dispatcher
  16. # register handlers
  17. dp.add_handler(CommandHandler('pinglcm', hnd.ping))
  18. dp.add_handler(CommandHandler('checkwebsite', hnd.is_web_up))
  19. dp.add_handler(CommandHandler('vietnam', hnd.vietnam))
  20. dp.add_handler(CommandHandler('sellyourmother', hnd.sell_your_mother))
  21. dp.add_handler(CommandHandler('abuse150', hnd.abuse_150))
  22. dp.add_handler(CommandHandler('rndwisdom', hnd.speak, pass_args=True))
  23. tale_handler = TaleHandler()
  24. dp.add_handler(CommandHandler('addatale', tale_handler.prompt_user))
  25. dp.add_handler(MessageHandler([Filters.text], tale_handler.handle_new_tale))
  26. dp.add_handler(CallbackQueryHandler(tale_handler.save_tale))
  27. dp.add_handler(CommandHandler('tellatale', tale_handler.tell_a_tale))
  28. dp.add_error_handler(hnd.error)
  29. # dp.add_handler(MessageHandler([], hnd.print_msg_info))
  30. # start LCMbot
  31. updater.start_polling()
  32. # run until the process receives SIGINT, SIGTERM or SIGABRT
  33. updater.idle()
  34. if __name__ == '__main__':
  35. main()