Если на это еще нет ответа, вы можете добавить params string[] args
в качестве параметра функции вашей команды. Все, что пользователь пишет после вашей команды, затем будет проанализировано. Я изменил вашу команду, чтобы работать с этим.
[Command("search")]
public async Task Search(params string[] args)
{
if(args.Length == 0 || !int.TryParse(args[0], out int number))
{
await ReplyAsync("You have to enter a number!");
return;
}
await ReplyAsync($"Your number is {number}.");
}
[prefix]search
теперь выдаст «Вы должны ввести число!» [prefix]search 3
выводит «Ваш номер 3».
Или, если вы предпочитаете запрашивать у пользователя номер после того, как он использует команду, вы можете сохранить идентификатор текущего пользователя и дождаться его следующего сообщения, используя Discord.MessageReceived
и используйте это в другой функции.