Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add defer to karma commands where missing #535

Merged
merged 2 commits into from
May 3, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 26 additions & 4 deletions cogs/karma.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ async def give(
users: str,
karma: int
):
await inter.response.defer()
await self.karma_helper.karma_give(inter, users, karma)

@_karma_mod.sub_command(name="transfer", description=Messages.karma_transfer_brief)
Expand All @@ -217,13 +218,19 @@ async def transfer(
from_user: disnake.Member,
to_user: disnake.Member
):
await inter.response.defer()
if from_user == to_user:
return await inter.send(Messages.karma_transfer_same_user)
await self.karma_helper.karma_transfer(inter, from_user, to_user)

@cooldowns.long_cooldown
@_karma.sub_command(name="leaderboard", description=Messages.karma_leaderboard_brief)
async def leaderboard(self, inter: disnake.ApplicationCommandInteraction, start: int = 1):
"""
Get karma leaderboard
"""
await inter.response.defer(ephemeral=self.check.botroom_check(inter))

if not await self.validate_leaderboard_offset(start, inter):
return
embed = disnake.Embed()
Expand All @@ -245,12 +252,17 @@ async def leaderboard(self, inter: disnake.ApplicationCommandInteraction, start:
embed = page_source.format_page(page)

view = EmbedView(inter.author, embeds=[embed], page_source=page_source)
await inter.response.send_message(embed=embed, view=view, ephemeral=self.check.botroom_check(inter))
await inter.edit_original_response(embed=embed, view=view)
view.message = await inter.original_message()

@cooldowns.long_cooldown
@_karma.sub_command(name="bajkarboard", description=Messages.karma_bajkarboard_brief)
async def bajkarboard(self, inter: disnake.ApplicationCommandInteraction, start: int = 1):
"""
Leaderboard, but reversed (lowest first)
"""
await inter.response.defer(ephemeral=self.check.botroom_check(inter))

if not await self.validate_leaderboard_offset(start, inter):
return

Expand All @@ -268,12 +280,17 @@ async def bajkarboard(self, inter: disnake.ApplicationCommandInteraction, start:
embed = page_source.format_page(page)

view = EmbedView(inter.author, embeds=[embed], page_source=page_source)
await inter.response.send_message(embed=embed, view=view, ephemeral=self.check.botroom_check(inter))
await inter.edit_original_response(embed=embed, view=view)
view.message = await inter.original_message()

@cooldowns.long_cooldown
@_karma.sub_command(name="givingboard", description=Messages.karma_givingboard_brief)
async def givingboard(self, inter: disnake.ApplicationCommandInteraction, start: int = 1):
"""
Get the biggest karma givers
"""
await inter.response.defer(ephemeral=self.check.botroom_check(inter))

if not await self.validate_leaderboard_offset(start, inter):
return

Expand All @@ -291,12 +308,17 @@ async def givingboard(self, inter: disnake.ApplicationCommandInteraction, start:
embed = page_source.format_page(page)

view = EmbedView(inter.author, embeds=[embed], page_source=page_source)
await inter.response.send_message(embed=embed, view=view, ephemeral=self.check.botroom_check(inter))
await inter.edit_original_response(embed=embed, view=view)
view.message = await inter.original_message()

@cooldowns.long_cooldown
@_karma.sub_command(name="ishaboard", description=Messages.karma_ishaboard_brief)
async def ishaboard(self, inter: disnake.ApplicationCommandInteraction, start: int = 1):
"""
Get the biggest haters (those who given others the most of negative karma)
"""
await inter.response.defer(ephemeral=self.check.botroom_check(inter))

if not await self.validate_leaderboard_offset(start, inter):
return

Expand All @@ -314,7 +336,7 @@ async def ishaboard(self, inter: disnake.ApplicationCommandInteraction, start: i
embed = page_source.format_page(page)

view = EmbedView(inter.author, embeds=[embed], page_source=page_source)
await inter.response.send_message(embed=embed, view=view, ephemeral=self.check.botroom_check(inter))
await inter.edit_original_response(embed=embed, view=view)
view.message = await inter.original_message()

@revote.error
Expand Down