Задать вопрос
@Dresp

Как сделать одновременно слэш команду и команду через префикс дискорд бота на Disnake?

Попытаюсь сказать коротко.
Мне нужно сделать команду одновременно через слэш и с использованием префикса.
Использую библиотеку Disnake.
Команда -
@commands.slash_command(description='Впишите ссылку. Бот сократит её и сделает из неё QRCODE.')
    async def short(self, inter: disnake.ApplicationCommandInteraction, link):
        def shorten_url(link):
            return pyshorteners.Shortener().clckru.short(link)
        rand = random.randint(1, 10000)
        argument = f'QRCODE{rand}'
        img = qrcode.make(format(shorten_url(link)))
        type(img)
        img.save('qr/' + argument + ".png")
        await inter.send(f'<@{inter.author.id}>, Сокращенная ссылка - <{format(shorten_url(link))}>\nQRКод:', file=disnake.File(f'qr/{argument}.png'))
        os.remove(f'qr/{argument}.png')
  • Вопрос задан
  • 359 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
fenrir1121
@fenrir1121
Начни с документации
Средствами библиотеки - никак. Слеш команды концептуально отличаются и получают данные отличные от префиксных. Рекомендуемый способ это для префиксов показывать слеш-команду чтобы люди переходили на них.

Альтернатива запихнуть вашу логику в отдельную функцию и из двух команд вызывать эту функцию.

Советую выбирать первый вариант и отказываться от префиксов. Если дойдете до верификации бота вам их не согласуют.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы