From 253e0374f0f42c3a03d0d1b258eb057152cda4d3 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 26 May 2015 17:00:20 -0400 Subject: [PATCH] Mark channels read when updated Signed-off-by: Anna Schumaker --- slack/channels.py | 12 +++++++++++- slackmail.py | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/slack/channels.py b/slack/channels.py index 0f0fa58..6854e91 100644 --- a/slack/channels.py +++ b/slack/channels.py @@ -49,7 +49,8 @@ class Channel: class Message: def __init__(self, json): - self.__time = datetime.fromtimestamp(float(json["ts"])) + self.__ts = json["ts"] + self.__time = datetime.fromtimestamp(self.__ts)) self.__user = users.info(json["user"]) self.__text = json["text"].encode("utf-8").decode("latin-1") @@ -59,6 +60,9 @@ class Message: def __str__(self): return "%s %s: %s" % (self.__time.time(), self.__user.name(), self.__text) + def ts(self): + return self.__tsi + def history(channel, timestamp): @@ -70,6 +74,9 @@ def history(channel, timestamp): for message in ret["messages"]: m_list += [ Message(message) ] m_list.sort() + + if len(m_list) > 0: + mark(channel, m_list[-1].ts()) return m_list def info(channel): @@ -87,3 +94,6 @@ def list(): for channel in ret["channels"]: ch_list += [ Channel(channel) ] return ch_list + +def mark(channel, timestamp): + api.call("channels.mark", token = auth.token(), channel = channel, ts = timestamp) diff --git a/slackmail.py b/slackmail.py index dae5f38..5133aab 100644 --- a/slackmail.py +++ b/slackmail.py @@ -24,7 +24,7 @@ for channel in slack.channels.list(): msg = MIMEText("\n".join(text)) msg["Subject"] = "[%s] %s" % (slack.team(), channel.name()) - msg["From"] = "slack@OcarinaProject.net" + msg["From"] = "SlackMail@OcarinaProject.net" msg["To"] = "schumaker.anna@gmail.com" s.sendmail("SlackMail", "schumaker.anna@gmail.com", msg.as_string())