fix: Add client to testing webhook

This commit is contained in:
2026-07-30 11:59:50 +03:00
parent 5873b0fe65
commit a681da058f
2 changed files with 29 additions and 16 deletions
+8 -7
View File
@@ -123,7 +123,9 @@ class CampaignCog(LionCog):
return return
# Open campaign UI # Open campaign UI
widget = CampaignDashboard(bot=self.bot, campaign=campaign, callerid=ctx.author.id) widget = CampaignDashboard(
bot=self.bot, campaign=campaign, callerid=ctx.author.id
)
await widget.run(ctx.interaction) await widget.run(ctx.interaction)
await widget.wait() await widget.wait()
@@ -179,7 +181,7 @@ class CampaignCog(LionCog):
# If logging webhook is given, check that it works # If logging webhook is given, check that it works
if logging_webhook is not None: if logging_webhook is not None:
webhook = ThreadedWebhook.from_url(logging_webhook) webhook = ThreadedWebhook.from_url(logging_webhook, client=self.bot)
try: try:
await webhook.test_webhook() await webhook.test_webhook()
except (discord.HTTPException, discord.Forbidden): except (discord.HTTPException, discord.Forbidden):
@@ -202,7 +204,9 @@ class CampaignCog(LionCog):
f"Setup and started your reward campaign {campaign.row.campaign_name}! Good luck" f"Setup and started your reward campaign {campaign.row.campaign_name}! Good luck"
) )
# Open campaign UI # Open campaign UI
widget = CampaignDashboard(bot=self.bot, campaign=campaign, callerid=ctx.author.id) widget = CampaignDashboard(
bot=self.bot, campaign=campaign, callerid=ctx.author.id
)
await widget.run(ctx.interaction) await widget.run(ctx.interaction)
await widget.wait() await widget.wait()
@@ -278,10 +282,7 @@ class CampaignCog(LionCog):
) )
# Ack creation # Ack creation
await ctx.reply( await ctx.reply("Updated your campaign, good luck!", ephemeral=True)
"Updated your campaign, good luck!",
ephemeral=True
)
campaign_configure_cmd.autocomplete("campaign_name")(_campaign_acmpl) campaign_configure_cmd.autocomplete("campaign_name")(_campaign_acmpl)
+21 -9
View File
@@ -100,31 +100,43 @@ class CampaignDashboard(MessageUI):
table = { table = {
"Created at": discord.utils.format_dt(campaign.row.created_at, "F"), "Created at": discord.utils.format_dt(campaign.row.created_at, "F"),
"Started at": started_at, "Started at": started_at,
"Moderator Role": f"<&@{campaign.row.moderator_role_id}>" if campaign.row.moderator_role_id else "*Not Set*", "Moderator Role": f"<@&{campaign.row.moderator_role_id}>"
"Logging webhook": "*Set Up*" if campaign.row.logging_webhook_url else "*Not Set*", if campaign.row.moderator_role_id
else "*Not Set*",
"Logging webhook": "*Set Up*"
if campaign.row.logging_webhook_url
else "*Not Set*",
"Rewards Earned": str(rewards_earned), "Rewards Earned": str(rewards_earned),
"Rewards Cap": str(reward_cap), "Rewards Cap": str(reward_cap),
} }
if campaign.row.completed_at is not None: if campaign.row.completed_at is not None:
table['Finished at'] = discord.utils.format_dt(campaign.row.completed_at, "F") table["Finished at"] = discord.utils.format_dt(
prop_table = '\n'.join(tabulate(*table.items())) campaign.row.completed_at, "F"
)
prop_table = "\n".join(tabulate(*table.items()))
embed.description = f"{description}\n\n{prop_table}" embed.description = f"{description}\n\n{prop_table}"
# Brief summary of rewards in columns. 12 per column. Empty titles? # Brief summary of rewards in columns. 12 per column. Empty titles?
rewardrows = [] rewardrows = []
for reward in all_rewards: for reward in all_rewards:
name = reward.twitch_user_name or str(reward.twitch_user_id) or str(reward.profileid) name = (
reward.twitch_user_name
or str(reward.twitch_user_id)
or str(reward.profileid)
)
fluffed = reward.fulfilled_at is not None fluffed = reward.fulfilled_at is not None
fluffed_emoji = '' if fluffed else '🔳' fluffed_emoji = "" if fluffed else "🔳"
rewardrows.append(f"{fluffed_emoji} {name}") rewardrows.append(f"{fluffed_emoji} {name}")
blocks = ['\n'.join(rewardrows[i:i+12]) for i in range(0, len(rewardrows), 12)] blocks = [
"\n".join(rewardrows[i : i + 12]) for i in range(0, len(rewardrows), 12)
]
embed.add_field( embed.add_field(
name="Rewards Summary", name="Rewards Summary",
value=blocks[0] if blocks else 'No Rewards Earned', value=blocks[0] if blocks else "No Rewards Earned",
inline=True inline=True,
) )
for block in blocks[1:]: for block in blocks[1:]:
embed.add_field( embed.add_field(