fixed empty channel bug
This commit is contained in:
+19
-17
@@ -22,7 +22,7 @@ class ChannelLogs:
|
|||||||
return
|
return
|
||||||
self.id = int(channel["id"])
|
self.id = int(channel["id"])
|
||||||
self.name = channel["name"]
|
self.name = channel["name"]
|
||||||
self.last_message_id = int(channel["last_message_id"])
|
self.last_message_id = int(channel["last_message_id"]) if channel["last_message_id"] is not None else None
|
||||||
self.messages = [MessageLog(message) for message in channel["messages"]]
|
self.messages = [MessageLog(message) for message in channel["messages"]]
|
||||||
|
|
||||||
def is_format(self):
|
def is_format(self):
|
||||||
@@ -47,22 +47,24 @@ class ChannelLogs:
|
|||||||
else: # first load
|
else: # first load
|
||||||
last_message_id = None
|
last_message_id = None
|
||||||
done = 0
|
done = 0
|
||||||
while done >= CHUNK_SIZE or last_message_id is None:
|
sanity_check = len(await channel.history(limit=1).flatten())
|
||||||
done = 0
|
if sanity_check == 1:
|
||||||
async for message in channel.history(
|
while done >= CHUNK_SIZE or last_message_id is None:
|
||||||
limit=CHUNK_SIZE,
|
done = 0
|
||||||
before=FakeMessage(last_message_id)
|
async for message in channel.history(
|
||||||
if last_message_id is not None
|
limit=CHUNK_SIZE,
|
||||||
else None,
|
before=FakeMessage(last_message_id)
|
||||||
oldest_first=False,
|
if last_message_id is not None
|
||||||
):
|
else None,
|
||||||
done += 1
|
oldest_first=False,
|
||||||
last_message_id = message.id
|
):
|
||||||
m = MessageLog(message)
|
done += 1
|
||||||
await m.load(message)
|
last_message_id = message.id
|
||||||
self.messages += [m]
|
m = MessageLog(message)
|
||||||
yield len(self.messages), False
|
await m.load(message)
|
||||||
self.last_message_id = channel.last_message_id
|
self.messages += [m]
|
||||||
|
yield len(self.messages), False
|
||||||
|
self.last_message_id = channel.last_message_id
|
||||||
except discord.errors.HTTPException:
|
except discord.errors.HTTPException:
|
||||||
return # When an exception occurs (like Forbidden)
|
return # When an exception occurs (like Forbidden)
|
||||||
yield len(self.messages), True
|
yield len(self.messages), True
|
||||||
|
|||||||
Reference in New Issue
Block a user