Я пытаюсь понять, как Client.event работает в discord.py. Это исходный код метода события.
def event(self, coro):
# Validation we don't need to worry about
setattr(self, coro.__name__, coro)
return coro
В соответствии с тем, что я понимаю, сопрограмма передается в функцию события и создается атрибут объекта с именем, совпадающим с именем сопрограммы. и значение, равное выходу сопрограммы. Я не понимаю, что это за объект, о котором мы говорим?
Здесь - исходный код для discord.py, и я не могу понять, где создается объект. Пожалуйста, помогите.
Кроме того, поскольку сопрограмма принимается в качестве аргумента, означает ли это, что может быть передана только функция, которой предшествует asyn c?