|
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