Попытка использовать переменную в качестве разметки гиперссылки в Discord - PullRequest
0 голосов
/ 07 апреля 2019

На самом деле я работаю над Upload-Bot for Discord.Моя проблема в том, что я хочу использовать переменную (которая содержит постоянную ссылку API) в качестве разметки гиперссылки.

На данный момент это выглядит так:

enter image description here

Но это должно выглядеть следующим образом: (Разметка гиперссылки "Vale Guardian" должна содержать постоянную ссылку из переменной "DpsReportVg")

enter image description here

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)");

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

У вас это почти получилось, но вы пропускаете мелкие детали. У вас есть
embed.AddField("Spirit Vale", "[Vale Guardian](DpsReportVg)");

Но то, что вы должны иметь, это
embed.AddField("Spirit Vale", $"[Vale Guardian]({DpsReportVg})");

Пояснение: Вы на самом деле не используете свою переменную, вы просто добавляете строку, которая совпадает с именем вашей переменной.
Мое редактирование вашего кода использует строковую интерполяцию для вставки вашей переменной в вашу строку, обеспечивая тем самым фактическую ссылку, которую вы сохранили в переменной.

0 голосов
/ 07 апреля 2019

Вам необходимо использовать метод EmbedBuilder.withUrl:

Ознакомьтесь с официальными документами для полного примера с изображениями:

https://discord4j.readthedocs.io/en/latest/Making-embedded-content-using-EmbedBuilder/

...