feat(skins): Apply skins to graphics.

This commit is contained in:
2023-10-27 15:43:02 +03:00
parent b47744e219
commit 9341afc368
7 changed files with 35 additions and 6 deletions

View File

@@ -46,6 +46,10 @@ async def get_timer_card(bot: LionBot, timer: 'Timer', stage: 'Stage'):
else: else:
card_cls = BreakTimerCard card_cls = BreakTimerCard
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
timer.data.guildid, None, card_cls.card_id
)
return card_cls( return card_cls(
name, name,
remaining, remaining,

View File

@@ -122,6 +122,11 @@ async def get_goals_card(
badges = await data.ProfileTag.fetch_tags(guildid, userid) badges = await data.ProfileTag.fetch_tags(guildid, userid)
card_cls = WeeklyGoalCard if weekly else MonthlyGoalCard card_cls = WeeklyGoalCard if weekly else MonthlyGoalCard
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, card_cls.card_id
)
card = card_cls( card = card_cls(
name=username[0], name=username[0],
discrim=username[1], discrim=username[1],
@@ -134,6 +139,6 @@ async def get_goals_card(
attendance=attendance, attendance=attendance,
goals=tasks, goals=tasks,
date=today, date=today,
skin={'mode': mode} skin=skin | {'mode': mode}
) )
return card return card

View File

@@ -60,8 +60,12 @@ async def get_leaderboard_card(
highlight = position highlight = position
# Request Card # Request Card
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, None, LeaderboardCard.card_id
)
card = LeaderboardCard( card = LeaderboardCard(
skin={'mode': mode}, skin=skin | {'mode': mode},
server_name=guild.name, server_name=guild.name,
entries=entries, entries=entries,
highlight=highlight highlight=highlight

View File

@@ -121,6 +121,9 @@ async def get_monthly_card(bot: LionBot, userid: int, guildid: int, offset: int,
username = (lion.data.display_name, '#????') username = (lion.data.display_name, '#????')
# Request card # Request card
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, MonthlyStatsCard.card_id
)
card = MonthlyStatsCard( card = MonthlyStatsCard(
user=username, user=username,
timezone=str(lion.timezone), timezone=str(lion.timezone),
@@ -129,6 +132,6 @@ async def get_monthly_card(bot: LionBot, userid: int, guildid: int, offset: int,
monthly=monthly, monthly=monthly,
current_streak=current_streak, current_streak=current_streak,
longest_streak=longest_streak, longest_streak=longest_streak,
skin={'mode': mode} skin=skin | {'mode': mode}
) )
return card return card

View File

@@ -80,6 +80,10 @@ async def get_profile_card(bot: LionBot, userid: int, guildid: int):
achievements = await get_achievements_for(bot, guildid, userid) achievements = await get_achievements_for(bot, guildid, userid)
achieved = tuple(ach.emoji_index for ach in achievements if ach.achieved) achieved = tuple(ach.emoji_index for ach in achievements if ach.achieved)
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, ProfileCard.card_id
)
card = ProfileCard( card = ProfileCard(
user=username, user=username,
avatar=(userid, avatar), avatar=(userid, avatar),
@@ -88,6 +92,7 @@ async def get_profile_card(bot: LionBot, userid: int, guildid: int):
achievements=achieved, achievements=achieved,
current_rank=current_rank, current_rank=current_rank,
rank_progress=rank_progress, rank_progress=rank_progress,
next_rank=next_rank next_rank=next_rank,
skin=skin,
) )
return card return card

View File

@@ -117,12 +117,16 @@ async def get_stats_card(bot: LionBot, userid: int, guildid: int, mode: CardMode
if streak_start is not None: if streak_start is not None:
streaks.append((streak_start, today.day)) streaks.append((streak_start, today.day))
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, StatsCard.card_id
)
card = StatsCard( card = StatsCard(
(position, 0), (position, 0),
period_strings, period_strings,
month_string, month_string,
100, 100,
streaks, streaks,
skin={'mode': mode} skin=skin | {'mode': mode}
) )
return card return card

View File

@@ -58,6 +58,10 @@ async def get_weekly_card(bot: LionBot, userid: int, guildid: int, offset: int,
else: else:
username = (lion.data.display_name, '#????') username = (lion.data.display_name, '#????')
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, WeeklyStatsCard.card_id
)
card = WeeklyStatsCard( card = WeeklyStatsCard(
user=username, user=username,
timezone=str(lion.timezone), timezone=str(lion.timezone),
@@ -68,6 +72,6 @@ async def get_weekly_card(bot: LionBot, userid: int, guildid: int, offset: int,
(int(session['start_time'].timestamp()), int(session['start_time'].timestamp() + int(session['duration']))) (int(session['start_time'].timestamp()), int(session['start_time'].timestamp() + int(session['duration'])))
for session in sessions for session in sessions
], ],
skin={'mode': mode} skin=skin | {'mode': mode}
) )
return card return card