1
0
mirror of https://github.com/gryf/slack-backup.git synced 2025-12-17 11:30:25 +01:00

Adjusted get_history method

This commit is contained in:
2016-11-20 15:13:47 +01:00
parent 07f1b12fa0
commit 2476af0555

View File

@@ -27,28 +27,35 @@ class Client(object):
else: else:
selected_channels = channels selected_channels = channels
self._update_users()
for channel in selected_channels: for channel in selected_channels:
# history = [] history = []
latest = 'now' latest = 0
while True: while True:
messages, latest = self._get_channel_history(channel, latest) messages, latest = self._get_channel_history(channel, latest)
# TODO: merge messages witihn a channel # TODO: merge messages witihn a channel
if not messages: if latest is None:
break break
for msg in messages:
history.append(msg)
self.session.close() self.session.close()
return history
def _get_channel_history(self, channel, latest='now'): def _get_channel_history(self, channel, latest='now'):
result = self.slack.api_call("channels.history", channel=channel._id, result = self.slack.api_call("channels.history",
count=1000, latest=latest) channel=channel.slackid, count=1000,
latest=latest)
if not result.get("ok"): if not result.get("ok"):
logging.error(result['error']) logging.error(result['error'])
return None, None return None, None
if result['messages']:
return result['messages'], result['messages'][-1]['ts']
else:
return result['messages'], None
def _get_channel_list(self): def _get_channel_list(self):
result = self.slack.api_call("channels.list") result = self.slack.api_call("channels.list")