Similization
@Similization
В прострации

Как задать обязательные аргументы в команду телеграмм бота?

После дискорд бота я не совсем понимаю, существует ли в принципе такая возможность в телеграмме, как обязательные/необязательные аргументы слэш команд.
Ну вот условно у меня есть такая команда в дискорд боте:
@bot.slash_command(name="roll", description="Rolls the dice")
async def roll_command(
    inter: disnake.ApplicationCommandInteraction, _from: int = 1, _to: int = 6
):
    if _from > _to:
        _from, _to = _to, _from
    await inter.response.send_message(
        f"{inter.user.mention} rolled {random.randint(_from, _to)}!"
    )

Могу ли я сделать тоже самое, но в телеграмме?
Если что я пользуюсь библиотекой aiogram
bot = Bot(token=telegram_info['token'])
dp = Dispatcher(bot)

@dp.message_handler(commands=['roll'])
async def create_playlist(message: types.Message, _from: int = 1, _to: int = 6
):
    if _from > _to:
        _from, _to = _to, _from
    await inter.response.send_message(
        f"{inter.user.mention} rolled {random.randint(_from, _to)}!"
    )


Нужно чтобы они именно отображались у пользователя (как в том же дискорде) при наборе команды

Пользовался @BotFather для создания списка команд и их описания и там тоже нельзя никак указать аргументы?
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
gnifajio
@gnifajio
Совершенствуюсь каждый день
Нет, так аргументы указать нельзя. Вы должны получать текст команды, парсить его и проверять на наличие нужных вам аргументов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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