Как передать аргумент из команды в подкоманду Discord py - PullRequest
0 голосов
/ 19 июня 2020

Допустим, у меня есть следующая команда и подкоманды:

@commands.group()
async def channel(self, ctx, channel_name_or_id):
    # convert channel_name_or_id to channel object

@channel.command()
async def get_mention(ctx, channel_object):
    await ctx.send(channel_object.mention)

@channel.command()
async def get_id(ctx, channel_object):
    await ctx.send(channel_object.id)

Я хочу, чтобы родительская команда преобразовывала имя или идентификатор в объект, а затем передавала этот объект подкомандам . Есть ли способ сделать это? Что-то вроде ctx.invoked_subcommand.pass(channel_object)?

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете получить объект канала, используя self.client.get_channel(id). Вы можете использовать переменную уровня класса, которую вы создаете в __init__() (если это шестеренка), и установить ее для объекта канала.

...