Browse Source

Fix Python 3.10 __or__ not working with transformers

Fixes #8214
pull/8280/head
Rapptz 3 years ago
parent
commit
5527de688a
  1. 2
      discord/app_commands/errors.py
  2. 3
      discord/app_commands/transformers.py
  3. 2
      discord/ext/commands/hybrid.py

2
discord/app_commands/errors.py

@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations
from typing import Any, TYPE_CHECKING, List, Optional, Type, Union
from typing import Any, TYPE_CHECKING, List, Optional, Union
from ..enums import AppCommandOptionType, AppCommandType

3
discord/app_commands/transformers.py

@ -202,6 +202,9 @@ class Transformer:
def __call__(self) -> None:
pass
def __or__(self, rhs: Any) -> Any:
return Union[self, rhs] # type: ignore
@property
def type(self) -> AppCommandOptionType:
""":class:`~discord.AppCommandOptionType`: The option type associated with this transformer.

2
discord/ext/commands/hybrid.py

@ -142,7 +142,7 @@ class ConverterTransformer(app_commands.Transformer):
else:
return await converter().convert(ctx, value) # type: ignore
elif isinstance(converter, Converter):
return await converter.convert(ctx, value) # type: ignore
return await converter.convert(ctx, value)
except CommandError:
raise
except Exception as exc:

Loading…
Cancel
Save