diff options
| author | jantuomi <jans.tuomi@gmail.com> | 2016-07-19 14:20:36 +0300 |
|---|---|---|
| committer | jantuomi <jans.tuomi@gmail.com> | 2016-07-19 14:20:36 +0300 |
| commit | 50779b5ecc55f906bcfd46e54dad70b2c74d3a98 (patch) | |
| tree | c3627888448c9e49f32df8670596758f347427b4 /telegramapicommunicator.py | |
| parent | eacb313e19805fd8d4bbba1b3515aa9adcd897cf (diff) | |
Code cleanup
Diffstat (limited to 'telegramapicommunicator.py')
| -rw-r--r-- | telegramapicommunicator.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/telegramapicommunicator.py b/telegramapicommunicator.py new file mode 100644 index 0000000..169a1ce --- /dev/null +++ b/telegramapicommunicator.py @@ -0,0 +1,47 @@ +import logging + +import sys +import telepot + +from basecommunicator import BaseCommunicator + + +class TelegramCommunicator(BaseCommunicator): + """Class for communicating with the Telegram API""" + + chat_id = "default_id" + bot = None + token = "DEFAULT_TOKEN_123" + + @staticmethod + def spawn_bot(token): + TelegramCommunicator.bot = telepot.Bot(token) + + @staticmethod + def fetch(): + raise Exception("""Attempted to fetch messages from Telegram manually. + Please use telepot bot functionality for listening to messages.""") + + @staticmethod + def send(data): + TelegramCommunicator.send_raw("{}: {}".format(data["user"], data["text"])) + + @staticmethod + def send_raw(message): + try: + TelegramCommunicator.bot.sendMessage(TelegramCommunicator.chat_id, + message) + except: + logging.warning("Could not send message to Telegram chat id {}!".format(TelegramCommunicator.chat_id)) + + @staticmethod + def start_listening(handle): + try: + logging.info("Bot info: {}".format(TelegramCommunicator.bot.getMe())) + except: + logging.error("Could not fetch bot info. Check your token and connectivity to Telegram!") + sys.exit(1) + + TelegramCommunicator.bot.message_loop(handle) + + logging.info("Listening for messages...") |
