UI (rooms) Mention session guild.
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user