Найти - Пользователи
Полная версия: discord.py
Начало » Python для новичков » discord.py
1
Magister6239
Я гуглил не нашел. Плз подскажите, как работают декораторы в этой библиотеке. К примеру:
 @bot.event
async def on_ready():
    print(f'Logged in as {bot.user.name}')
@bot.command()
async def ping(ctx: commands.Context):
    await ctx.send('Pong!')
@bot.command()
async def test(ctx: commands.Context):
    await ctx.send('test')
Но почему это работает? Декоратор оборачивает функцию и возвращает другую функцию, но как имя функции может влиять на работу? Я пытаюсь представить как это работает внутри, но для меня это попросту не должно работать… Вот функция ping, так как ее имя может влиять на ее вызов в самом дискорде? Извините если я неправильно что то сказал или выразился.
py.user.next
  
>>> def abcde():
...   return 1
... 
>>> name = abcde.__name__
>>> name
'abcde'
>>>

Не знаю, как работает конкретно этот модуль для создания ботов и конкретно в дискорде, но проблем с тем, чтобы имя функции добавить в реестр имён и сопоставлять его с введённой командой в виде строки, нет.
Magister6239
Спасибо. Это оказалось очень просто
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB