From 21a296d53847af3280ba42692081c7836d974b57 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 27 Feb 2019 21:33:52 -0500 Subject: [PATCH] [commands] Error out when someone passes plain Cog.listener decorator. Should make this error easier to catch rather than silent failure. --- discord/ext/commands/cog.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/discord/ext/commands/cog.py b/discord/ext/commands/cog.py index 217f63887..a51173b94 100644 --- a/discord/ext/commands/cog.py +++ b/discord/ext/commands/cog.py @@ -203,9 +203,13 @@ class Cog(metaclass=CogMeta): Raises -------- TypeError - The function is not a coroutine function. + The function is not a coroutine function or a string was not passed as + the name. """ + if name is not None and not isinstance(name, str): + raise TypeError('Cog.listener expected str but received {0.__class__.__name__!r} instead.'.format(name)) + def decorator(func): if not inspect.iscoroutinefunction(func): raise TypeError('Listener function must be a coroutine function.')