|
2 | 2 | import inspect
|
3 | 3 | import typing
|
4 | 4 | from typing import Awaitable, Dict, List, TYPE_CHECKING, Callable, Coroutine, Optional
|
| 5 | +import re |
5 | 6 |
|
6 | 7 | import interactions.models.internal as models
|
7 | 8 | import interactions.api.events as events
|
@@ -154,12 +155,20 @@ def drop(self) -> None:
|
154 | 155 | for func in self._commands:
|
155 | 156 | if isinstance(func, models.ModalCommand):
|
156 | 157 | 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) |
159 | 164 | elif isinstance(func, models.ComponentCommand):
|
160 | 165 | 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) |
163 | 172 | elif isinstance(func, models.InteractionCommand):
|
164 | 173 | for scope in func.scopes:
|
165 | 174 | if self.bot.interactions_by_scope.get(scope):
|
|
0 commit comments