UI (rooms) Mention session guild.

This commit is contained in:
2021-09-27 23:02:21 +03:00
parent 706133f29a
commit c1b53cedd2

View File

@@ -4,6 +4,7 @@ import discord
import asyncio import asyncio
from cmdClient.checks import in_guild from cmdClient.checks import in_guild
from meta import client
from utils.lib import multiselect_regex, parse_ranges, prop_tabulate from utils.lib import multiselect_regex, parse_ranges, prop_tabulate
from data import NOTNULL from data import NOTNULL
from data.conditions import GEQ, LEQ from data.conditions import GEQ, LEQ
@@ -485,22 +486,29 @@ async def cmd_rooms(ctx):
userid=NOTNULL, userid=NOTNULL,
select_columns=( select_columns=(
'slotid', 'slotid',
'guildid',
'start_at', 'start_at',
'COUNT(*) as num' 'COUNT(*) as num'
), ),
_extra="GROUP BY start_at, slotid ORDER BY start_at ASC" _extra="GROUP BY start_at, slotid, guildid ORDER BY start_at ASC"
) )
attendees = {row['start_at']: row['num'] for row in rows} attendees = {row['start_at']: (row['num'], client.get_guild(row['guildid'])) for row in rows}
attendee_pad = max((len(str(num)) for num in attendees.values()), default=1) attendee_pad = max((len(str(num)) for num, _ in attendees.values()), default=1)
# TODO: Allow cancel to accept multiselect keys as args # TODO: Allow cancel to accept multiselect keys as args
show_guild = any(guild != ctx.guild for _, guild in attendees.values())
booked_list = '\n'.join( booked_list = '\n'.join(
"`{:>{}}` attendees | {}".format( "`{:>{}}` attendees | {} {}".format(
num, num,
attendee_pad, attendee_pad,
time_format(start) time_format(start),
) for start, num in attendees.items() "" if not show_guild else (
"on this server" if guild == ctx.guild else "in **{}**".format(
guild.name
)
)
) for start, (num, guild) in attendees.items()
) )
booked_field = ( booked_field = (
"{}\n\n" "{}\n\n"