[Streams] Don't raise KeyError on missing token (#1994)

Some streaming services don't require a token/clientID.

Resolves #1932
This commit is contained in:
Toby Harradine 2018-08-10 15:07:30 +10:00 committed by GitHub
parent 06f986b92e
commit 51a54863c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -608,16 +608,12 @@ class Streams:
chn = self.bot.get_channel(raw_msg["channel"])
msg = await chn.get_message(raw_msg["message"])
raw_stream["_messages_cache"].append(msg)
token = await self.db.tokens.get_raw(_class.__name__)
streams.append(_class(token=token, **raw_stream))
token = await self.db.tokens.get_raw(_class.__name__, default=None)
if token is not None:
raw_stream["token"] = token
streams.append(_class(**raw_stream))
# issue 1191 extended resolution: Remove this after suitable period
# Fast dedupe below
seen = set()
seen_add = seen.add
return [x for x in streams if not (x.name.lower() in seen or seen_add(x.name.lower()))]
# return streams
return streams
async def load_communities(self):
communities = []