Можно ли получить доктрину сопрограммы? - PullRequest
0 голосов
/ 08 марта 2020

Я получил функцию, определяемую:

@bot.command()
async def ping(ctx):
    """
        return pong
    """
    await ctx.send("pong !")

Но я бы взял ее доктрину, чтобы сделать функцию лучшей справки, чем модуль Discord. Как я мог получить документ?

Я пытался:

__doc__ ( inside ping function )
ping.__doc__

1 Ответ

3 голосов
/ 08 марта 2020

Вы можете видеть из реализации command, что ваш func обернут в Command объект:

def command(name=None, cls=None, **attrs):
    """..."""
    if cls is None:
        cls = Command

    def decorator(func):
        if isinstance(func, Command):
            raise TypeError('Callback is already a command.')
        return cls(func, name=name, **attrs)

    return decorator

Строка документации этого декоратора утверждает, что:

По умолчанию атрибут help автоматически получается из строки документации функции и очищается с использованием inspect.cleandoc. Если строка документа bytes, то она декодируется в str с использованием кодировки utf-8.

Это можно увидеть в реализации Command, чтобы вы могли видеть свою строку документации через ping.help.

...