Переопределение значения по умолчанию, предоставленного
on_message
, запрещает выполнение каких-либо дополнительных команд. Чтобы исправить это, добавьте строкуbot.process_commands(message)
в конце вашегоon_message
. Например:blockquote>@bot.event async def on_message(message): # do some extra stuff here await bot.process_commands(message)
Если у вас есть вопросы о расширении
discord.ext.commands
, документация перезаписи - это место для проверки. К сожалению, нет никаких попыток написать эквивалентную документацию для ветви async.
Вы не можете изменить str
's __add__
, но вы можете определить, как добавить свой класс в строки. Я не рекомендую это делать.
class MyClass(object):
...
def __add__(self, other):
if isinstance(other, str):
return str(self) + other
...
def __radd__(self, other):
if isinstance(other, str):
return other + str(self)
...
В "asdf" + thing
, если "asdf".__add__
не знает, как обрабатывать добавление, Python пытается thing.__radd__("asdf")
.