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

Как сделать слэш команду с выбором человека и выбором 1 из 3 пунктов? И желательно чтобы бот это всë выводил в ответ + кто отправил команду. Можно?

Код команды:
@bot.slash_command(name='тест', description='описание команды')
async def тест(ctx):
	await ctx.send('текст команды')

Картинка:
65a04bbbdf09f716122939.jpeg
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Я здесь вижу 4 отдельных вопроса и вижу 0 попыток самостоятельно это реализовать.

Да все это сделать можно, открываете документацию и изучаете.
Даже 3 строчки что вы приложили дают понять, что вы ее не открывали, поскольку слеш-команды принимают не Контекст, а Взаимодействие. Это разные объекты с разными атрибутами и методами.
@client.tree.command()
async def send(interaction: discord.Interaction, text_to_send: str):
    await interaction.response.send_message(text_to_send)

В частности у него есть атрибут response, который как раз отвечает за ответ, а не самостоятельное сообщение.

Кто вызвал команду лежит в user.

Для выбора человека и выбора из пунктов нужно ознакомиться со страницей discord-converters, там даны все типы, которые можно передать в параметры команды. Нужно только проставить типы, все остальное библиотека делает сама.
Ответ написан
vo0ov
@vo0ov
Кодер на python
Реализовать это можно так:
@bot.slash_command(name='тест', description='Выбрать вариант')
async def тест(ctx, mode=disnake.ext.commands.Param(name='тест', description='Выбор', choices=['1 вариант', '2 вариант', '3 вариант'])):
    await ctx.send(f'{ctx.author.mention} выбрал {mode}!')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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