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:
card_cls = BreakTimerCard
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
timer.data.guildid, None, card_cls.card_id
)
return card_cls(
name,
remaining,

View File

@@ -122,6 +122,11 @@ async def get_goals_card(
badges = await data.ProfileTag.fetch_tags(guildid, userid)
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(
name=username[0],
discrim=username[1],
@@ -134,6 +139,6 @@ async def get_goals_card(
attendance=attendance,
goals=tasks,
date=today,
skin={'mode': mode}
skin=skin | {'mode': mode}
)
return card

View File

@@ -60,8 +60,12 @@ async def get_leaderboard_card(
highlight = position
# Request Card
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, None, LeaderboardCard.card_id
)
card = LeaderboardCard(
skin={'mode': mode},
skin=skin | {'mode': mode},
server_name=guild.name,
entries=entries,
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, '#????')
# Request card
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, MonthlyStatsCard.card_id
)
card = MonthlyStatsCard(
user=username,
timezone=str(lion.timezone),
@@ -129,6 +132,6 @@ async def get_monthly_card(bot: LionBot, userid: int, guildid: int, offset: int,
monthly=monthly,
current_streak=current_streak,
longest_streak=longest_streak,
skin={'mode': mode}
skin=skin | {'mode': mode}
)
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)
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(
user=username,
avatar=(userid, avatar),
@@ -88,6 +92,7 @@ async def get_profile_card(bot: LionBot, userid: int, guildid: int):
achievements=achieved,
current_rank=current_rank,
rank_progress=rank_progress,
next_rank=next_rank
next_rank=next_rank,
skin=skin,
)
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:
streaks.append((streak_start, today.day))
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, StatsCard.card_id
)
card = StatsCard(
(position, 0),
period_strings,
month_string,
100,
streaks,
skin={'mode': mode}
skin=skin | {'mode': mode}
)
return card

View File

@@ -58,6 +58,10 @@ async def get_weekly_card(bot: LionBot, userid: int, guildid: int, offset: int,
else:
username = (lion.data.display_name, '#????')
skin = await bot.get_cog('CustomSkinCog').get_skinargs_for(
guildid, userid, WeeklyStatsCard.card_id
)
card = WeeklyStatsCard(
user=username,
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'])))
for session in sessions
],
skin={'mode': mode}
skin=skin | {'mode': mode}
)
return card