Skip to content

Commit cfe3199

Browse files
authored
fix: allow Extension.drop() to pop re.Pattern listeners (#1683)
1 parent bca121e commit cfe3199

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

interactions/models/internal/extension.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import inspect
33
import typing
44
from typing import Awaitable, Dict, List, TYPE_CHECKING, Callable, Coroutine, Optional
5+
import re
56

67
import interactions.models.internal as models
78
import interactions.api.events as events
@@ -154,12 +155,20 @@ def drop(self) -> None:
154155
for func in self._commands:
155156
if isinstance(func, models.ModalCommand):
156157
for listener in func.listeners:
157-
# noinspection PyProtectedMember
158-
self.bot._modal_callbacks.pop(listener)
158+
if isinstance(listener, re.Pattern):
159+
# noinspection PyProtectedMember
160+
self.bot._regex_modal_callbacks.pop(listener)
161+
else:
162+
# noinspection PyProtectedMember
163+
self.bot._modal_callbacks.pop(listener)
159164
elif isinstance(func, models.ComponentCommand):
160165
for listener in func.listeners:
161-
# noinspection PyProtectedMember
162-
self.bot._component_callbacks.pop(listener)
166+
if isinstance(listener, re.Pattern):
167+
# noinspection PyProtectedMember
168+
self.bot._regex_component_callbacks.pop(listener)
169+
else:
170+
# noinspection PyProtectedMember
171+
self.bot._component_callbacks.pop(listener)
163172
elif isinstance(func, models.InteractionCommand):
164173
for scope in func.scopes:
165174
if self.bot.interactions_by_scope.get(scope):

0 commit comments

Comments
 (0)