Fix Python 3.10 __or__ not working with transformers

Fixes #8214
This commit is contained in:
Rapptz 2022-07-30 04:43:41 -04:00
parent 11618cd1ba
commit 5527de688a
3 changed files with 5 additions and 2 deletions

View File

@ -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

View File

@ -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.

View File

@ -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: