feat: Lazy member chunking.
No longer try to fetch all members on startup. Instead chunk on-demand.
This commit is contained in:
@@ -253,6 +253,12 @@ class ScheduledSession:
|
||||
overwrites = room.overwrites
|
||||
for member in members:
|
||||
mobj = guild.get_member(member.userid)
|
||||
if not mobj and not guild.chunked:
|
||||
self.bot.request_chunking_for(guild)
|
||||
try:
|
||||
mobj = await guild.fetch_member(member.userid)
|
||||
except discord.HTTPException:
|
||||
mobj = None
|
||||
if mobj:
|
||||
overwrites[mobj] = discord.PermissionOverwrite(connect=True, view_channel=True)
|
||||
try:
|
||||
@@ -297,6 +303,13 @@ class ScheduledSession:
|
||||
}
|
||||
for member in members:
|
||||
mobj = guild.get_member(member.userid)
|
||||
if not mobj and not guild.chunked:
|
||||
self.bot.request_chunking_for(guild)
|
||||
try:
|
||||
mobj = await guild.fetch_member(member.userid)
|
||||
except discord.HTTPException:
|
||||
mobj = None
|
||||
|
||||
if mobj:
|
||||
overwrites[mobj] = discord.PermissionOverwrite(connect=True, view_channel=True)
|
||||
try:
|
||||
|
||||
@@ -440,7 +440,7 @@ class TimeSlot:
|
||||
)
|
||||
|
||||
def launch(self) -> asyncio.Task:
|
||||
self.run_task = asyncio.create_task(self.run())
|
||||
self.run_task = asyncio.create_task(self.run(), name=f"TimeSlot {self.slotid}")
|
||||
return self.run_task
|
||||
|
||||
@log_wrap(action="TimeSlot Run")
|
||||
|
||||
Reference in New Issue
Block a user