• 1000 словарь) со значениями. Декоратор применяется в других модулях к функциям, поэтому они регистрируются в классе. Это работает правильно (я могу сломаться и увидеть, что переменная класса заполнена). Однако, когда я запускаю код, который заставляет меня искать эти функции (в переменной класса), переменная класса является пустым словарем.
event_cog.py
class Events(commands.Cog):
REACTION_HANDLERS = dict()
def handle_reaction(reaction_emoji):
"""
allows you to register a function as a specific reaction handler for the embed representing an event
"""
def inner(func):
Events.REACTION_HANDLERS[reaction_emoji] = func
return func
return inner
import b.py
b.py
import event_cog
@event_cog.handle_reaction(emo(":white_check_mark:", use_aliases=True))
async def event_white_check_mark_handler(
self, ctx, channel: TextChannel, member: discord.Member, message: Message
):
, если я установил точку останова в декораторе после два исполнения, которые я вижу
str(Events.REACTION_HANDLERS)
'{\'✅\': <function event_white_check_mark_handler at 0x0584FBB8>, \'❌\': <function event_x_handler at 0x05835D68>}'
В любой момент позже, когда мой код захочет получить доступ к этим функциям, хотя ...
str(Events.REACTION_HANDLERS)
'{}'