From 51a54863c5380ef0563368431b00ce071d8fa90c Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Fri, 10 Aug 2018 15:07:30 +1000 Subject: [PATCH] [Streams] Don't raise KeyError on missing token (#1994) Some streaming services don't require a token/clientID. Resolves #1932 --- redbot/cogs/streams/streams.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index 6d985ad4e..ca4bed5b8 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -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 = []