[commands] Raise TypeError when Optional is used with Greedy converter

This commit is contained in:
Sebastian Law
2020-06-28 00:54:34 -07:00
committed by GitHub
parent 6b5be39cd2
commit 7a07644de3
2 changed files with 6 additions and 2 deletions

View File

@ -26,6 +26,7 @@ DEALINGS IN THE SOFTWARE.
import re
import inspect
import typing
import discord
@ -555,6 +556,9 @@ class _Greedy:
if converter is str or converter is type(None) or converter is _Greedy:
raise TypeError('Greedy[%s] is invalid.' % converter.__name__)
if getattr(converter, '__origin__', None) is typing.Union and type(None) in converter.__args__:
raise TypeError('Greedy[%r] is invalid.' % converter)
return self.__class__(converter=converter)
Greedy = _Greedy()