aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar kosayoda <[email protected]>2019-10-28 10:47:10 +0800
committerGravatar kosayoda <[email protected]>2019-10-28 10:47:10 +0800
commita2210247a4ba9a2903f9e21bb637bd12603b486e (patch)
tree3d4d4ee7cb0257b2259ad88b719c0fb7e9e87cd0
parentRevert "Remove dev-test limit for filtering debugging" (diff)
Add delete emoji to pagination
-rw-r--r--bot/cogs/help.py3
-rw-r--r--bot/pagination.py28
2 files changed, 21 insertions, 10 deletions
diff --git a/bot/cogs/help.py b/bot/cogs/help.py
index 63b4e89b8..f5538ce5e 100644
--- a/bot/cogs/help.py
+++ b/bot/cogs/help.py
@@ -13,7 +13,7 @@ from bot import constants
from bot.constants import Channels, Emojis, STAFF_ROLES
from bot.decorators import redirect_output
from bot.pagination import (
- DELETE_EMOJI as CLEAR_EMOJI, FIRST_EMOJI, LAST_EMOJI,
+ CLEAR_EMOJI, FIRST_EMOJI, LAST_EMOJI,
LEFT_EMOJI, LinePaginator, RIGHT_EMOJI,
)
@@ -501,7 +501,6 @@ class HelpSession:
async def do_clear(self) -> None:
"""Event that is called when the user clears the emojis from the pagination."""
await self.message.clear_reactions()
- await self.message.add_reaction(DELETE_EMOJI)
async def do_stop(self) -> None:
"""Event that is called when the user requests to stop the help session."""
diff --git a/bot/pagination.py b/bot/pagination.py
index 76082f459..11f7c77fe 100644
--- a/bot/pagination.py
+++ b/bot/pagination.py
@@ -6,13 +6,16 @@ from discord import Embed, Member, Message, Reaction
from discord.abc import User
from discord.ext.commands import Context, Paginator
+from bot import constants
+
FIRST_EMOJI = "\u23EE" # [:track_previous:]
LEFT_EMOJI = "\u2B05" # [:arrow_left:]
RIGHT_EMOJI = "\u27A1" # [:arrow_right:]
LAST_EMOJI = "\u23ED" # [:track_next:]
-DELETE_EMOJI = "\u274c" # [:x:]
+CLEAR_EMOJI = "\u274c" # [:x:]
+DELETE_EMOJI = constants.Emojis.trashcan # [:trashcan:]
-PAGINATION_EMOJI = [FIRST_EMOJI, LEFT_EMOJI, RIGHT_EMOJI, LAST_EMOJI, DELETE_EMOJI]
+PAGINATION_EMOJI = [FIRST_EMOJI, LEFT_EMOJI, RIGHT_EMOJI, LAST_EMOJI, CLEAR_EMOJI, DELETE_EMOJI]
log = logging.getLogger(__name__)
@@ -131,7 +134,7 @@ class LinePaginator(Paginator):
# Reaction is on this message
reaction_.message.id == message.id,
# Reaction is one of the pagination emotes
- reaction_.emoji in PAGINATION_EMOJI,
+ str(reaction_.emoji) in PAGINATION_EMOJI,
# Reaction was not made by the Bot
user_.id != ctx.bot.user.id,
# There were no restrictions
@@ -203,10 +206,14 @@ class LinePaginator(Paginator):
log.debug("Timed out waiting for a reaction")
break # We're done, no reactions for the last 5 minutes
- if reaction.emoji == DELETE_EMOJI:
- log.debug("Got delete reaction")
+ if reaction.emoji == CLEAR_EMOJI:
+ log.debug("Got clear reaction")
break
+ if str(reaction.emoji) == DELETE_EMOJI:
+ log.debug("Got delete reaction")
+ return await message.delete()
+
if reaction.emoji == FIRST_EMOJI:
await message.remove_reaction(reaction.emoji, user)
current_page = 0
@@ -342,7 +349,7 @@ class ImagePaginator(Paginator):
# Reaction is on the same message sent
reaction_.message.id == message.id,
# The reaction is part of the navigation menu
- reaction_.emoji in PAGINATION_EMOJI,
+ str(reaction_.emoji) in PAGINATION_EMOJI,
# The reactor is not a bot
not member.bot
))
@@ -388,11 +395,16 @@ class ImagePaginator(Paginator):
# Deletes the users reaction
await message.remove_reaction(reaction.emoji, user)
- # Delete reaction press - [:x:]
- if reaction.emoji == DELETE_EMOJI:
+ # Clear reaction press - [:x:]
+ if reaction.emoji == CLEAR_EMOJI:
log.debug("Got delete reaction")
break
+ # Delete reaction press - [:trashcan:]
+ if str(reaction.emoji) == DELETE_EMOJI:
+ log.debug("Got delete reaction")
+ return await message.delete()
+
# First reaction press - [:track_previous:]
if reaction.emoji == FIRST_EMOJI:
if current_page == 0: