#c# #string #discord #dsharp
#c# #строка #Discord #dsharp
Вопрос:
У меня есть бот Discord для получения информации о турнире. Я хочу, чтобы он принимал входные данные из команды типа !newtourneyinfo INFOHERE, а затем использовать INFOHERE как строку и использовать ее в !tourneyinfo. Я использую DSharpPlus, вот некоторый код, который не работает, но мой лучший вариант как новичка:
string tourneyinfo;
[Command("newtourneyinfo")]
public async Task newtourneyinfo(CommandContext ctx, string newinfo)
{
await ctx.RespondAsync($"!tourneyinfo will now output {newinfo}!");
newinfo = tourneyinfo;
}
[Command("tourneyinfo")]
public async Task tourneyinfo(CommandContext ctx)
{
await ctx.RespondAsync($"{tourneyinfo}");
}
Ответ №1:
Проблема здесь, по-видимому, заключается в том, что вы устанавливаете параметр, равный неинициализированной переменной вне метода. При записи newinfo = tourneyinfo
, newinfo
равно INFOHERE или любому другому переданному аргументу. Между тем, tourneyinfo
это пустая строковая переменная. Что вы, вероятно, хотите сделать, так это установить tourneyinfo
равным содержимому newinfo
.
Другими словами, попробуйте tourneyinfo = newinfo
вместо newinfo = tourneyinfo
.