на самом деле я работаю над Upload-Bot для Discord. Моя проблема в том, что я хочу использовать переменную (содержащую постоянную ссылку API) в качестве уценки гиперссылки.
На данный момент это выглядит так:
Но это должно выглядеть так: (Мардаун гиперссылки «Vale Guardian» должен содержать постоянную ссылку из переменной «DpsReportVg»)
using (WebClient client2 = new WebClient())
{
DpsReport1 = client2.DownloadString("https://dps.report/getUploads?json=1&userToken=5656165565161312564651635");
}
var dataObject = JsonConvert.DeserializeObject<dynamic>(DpsReport1);
string DpsReportVg = dataObject.uploads[3].permalink.ToString();
var embed = new EmbedBuilder();
embed.WithTitle("DPS-Reports uploaded by ");
embed.WithDescription(Context.User.Username);
embed.WithColor(new Color(0, 255, 0));
embed.WithCurrentTimestamp();
embed.AddField("Spirit Vale", "[Vale Guardian](DpsReportVg)");
Вам нужно использовать метод EmbedBuilder.withUrl
:
Ознакомьтесь с официальными документами для полного примера с изображениями:
Вы пробовали тот же самый пример, что и в документах, и он дал те же результаты, что и на скриншоте? Если нет, то я боюсь, что API изменился, и документы нуждаются в обновлении.
Да, я попробовал это, как в примере, и это работает, как в примере. но если я напишу так embed.AddField("Spirit Vale", "[Vale Guardian](https://www.google.de/)");
, это сработает, но я хочу изменить google.de с помощью моей переменной DpsReportVg.
Я думаю, что @Anu6is прибил это!
У вас почти получилось, но вы упускаете из виду незначительную деталь.
У тебя естьembed.AddField("Spirit Vale", "[Vale Guardian](DpsReportVg)");
Но то, что у вас должно быть, этоembed.AddField("Spirit Vale", $"[Vale Guardian]({DpsReportVg})");
Объяснение: На самом деле вы не используете свою переменную, вы просто добавляете строку, которая совпадает с именем вашей переменной. Мое редактирование вашего кода использует интерполяцию строк для вставки вашей переменной в вашу строку, тем самым предоставляя фактическую ссылку, которую вы сохранили в переменной.
Не связано, рассмотрите возможность использования одноэлементного экземпляра HttpClient вместо WebClient.
Тай, но я пробовал это раньше, но если я использую его, заголовок будет связан, а не значение объекта в поле. вот что я пытаюсь сделать :).