rewrite: Various bugfixes.

This commit is contained in:
2023-05-26 09:04:44 +03:00
parent 0f1c534ae2
commit eeff0f5042
8 changed files with 22 additions and 5 deletions

2
skins

Submodule skins updated: 506f050436...0d30358278

View File

@@ -123,3 +123,12 @@ class Lions(LionCog):
lmember = LionMember(self.bot, data, lguild, luser, member) lmember = LionMember(self.bot, data, lguild, luser, member)
self.lion_members[key] = lmember self.lion_members[key] = lmember
return lmember return lmember
async def fetch_members(self, *members: tuple[int, int]):
"""
Fetch or create multiple members simultaneously.
"""
# TODO: Actually batch this (URGENT)
members = {}
for key in members:
members[key] = await self.fetch_member(*key)

Submodule src/gui updated: ba4733a5f0...ed557f0820

View File

@@ -20,7 +20,10 @@ class DashCog(LionCog):
async def cog_unload(self): async def cog_unload(self):
... ...
@cmds.hybrid_command(name="dashboard") @cmds.hybrid_command(
name="dashboard",
description="At-a-glance view of the server's configuration."
)
@appcmds.guild_only @appcmds.guild_only
async def dashboard_cmd(self, ctx: LionContext): async def dashboard_cmd(self, ctx: LionContext):
ui = GuildDashboard(self.bot, ctx.guild, ctx.author.id, ctx.channel.id) ui = GuildDashboard(self.bot, ctx.guild, ctx.author.id, ctx.channel.id)

View File

@@ -13,6 +13,8 @@ from modules.tasklist.settings import TasklistDashboard
from tracking.voice.settings import VoiceTrackerDashboard from tracking.voice.settings import VoiceTrackerDashboard
from tracking.text.ui import TextTrackerDashboard from tracking.text.ui import TextTrackerDashboard
from modules.ranks.ui.config import RankDashboard from modules.ranks.ui.config import RankDashboard
from modules.pomodoro.settingui import TimerDashboard
from modules.rooms.settingui import RoomDashboard
# from modules.statistics.settings import StatisticsConfigUI # from modules.statistics.settings import StatisticsConfigUI
from . import babel, logger from . import babel, logger
@@ -28,7 +30,7 @@ class GuildDashboard(BasePager):
pages = [ pages = [
(EconomyDashboard, TasklistDashboard), (EconomyDashboard, TasklistDashboard),
(VoiceTrackerDashboard, TextTrackerDashboard, ), (VoiceTrackerDashboard, TextTrackerDashboard, ),
(RankDashboard,) (RankDashboard, TimerDashboard, RoomDashboard, )
] ]
def __init__(self, bot: LionBot, guild: discord.Guild, callerid: int, channelid: int, **kwargs): def __init__(self, bot: LionBot, guild: discord.Guild, callerid: int, channelid: int, **kwargs):

View File

@@ -586,7 +586,7 @@ class RoomCog(LionCog):
t(_p( t(_p(
'cmd:room_invite|error:member_not_found', 'cmd:room_invite|error:member_not_found',
"Could not find the invited member {mention} in this server!" "Could not find the invited member {mention} in this server!"
)).format(member=f"<@{mid}>") )).format(mention=f"<@{mid}>")
), ephemeral=True ), ephemeral=True
) )
return return

View File

@@ -88,6 +88,8 @@ class Room:
pass pass
async def add_new_members(self, memberids): async def add_new_members(self, memberids):
# Ensure members exist
await self.bot.core.lions.fetch_members(*((self.data.guildid, mid) for mid in memberids))
member_data = self.bot.get_cog('RoomCog').data.RoomMember member_data = self.bot.get_cog('RoomCog').data.RoomMember
await member_data.table.insert_many( await member_data.table.insert_many(
('channelid', 'userid'), ('channelid', 'userid'),

View File

@@ -101,6 +101,7 @@ class TextTrackerCog(LionCog):
session=session session=session
) )
) )
await self.bot.core.lions.fetch_member(session.guildid, session.userid)
self.sessionq.put_nowait(session) self.sessionq.put_nowait(session)
@log_wrap(stack=['Text Sessions', 'Message Event']) @log_wrap(stack=['Text Sessions', 'Message Event'])