Skip to content

Commit 4aec990

Browse files
committed
Fix decorator for typing of existing methods
1 parent 2a115ca commit 4aec990

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

twitchio/utils.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -740,10 +740,17 @@ def decorator(func: F) -> F:
740740
def wrapper(*args: Any, **kwargs: Any) -> Any:
741741
from .user import PartialUser
742742

743-
new_args = [(arg.id if isinstance(arg, PartialUser) else arg) for arg in (args[1:] if is_self else args)]
744-
if is_self:
745-
new_args = [args[0], *new_args]
746-
new_kwargs = {k: (v.id if isinstance(v, PartialUser) else v) for k, v in kwargs.items()}
743+
new_args = [
744+
(str(arg.id) if isinstance(arg, PartialUser) else arg)
745+
for i, arg in enumerate(args)
746+
if not (is_self and i == 0)
747+
]
748+
749+
if is_self and args:
750+
new_args.insert(0, args[0])
751+
752+
new_kwargs = {k: (str(v.id) if isinstance(v, PartialUser) else v) for k, v in kwargs.items()}
753+
747754
return func(*new_args, **new_kwargs)
748755

749756
return cast(F, wrapper)

0 commit comments

Comments
 (0)