web-dev-qa-db-fra.com

Discord.Net - Comment rendre les utilisateurs de Bot Ping avec "@"

Je travaille sur le codage d'un bot qui récupérera une image en fonction de paramètres de recherche. Lorsque le bot retourne le message après la commande, je souhaite qu'il en avertisse l'utilisateur qui a envoyé la commande avec un ping. (la notification d'un message utilisant le symbole "@" en désaccord).

Voici ce que j'ai jusqu'à présent:

await Context.Channel.SendMessageAsync("@" + Context.Message.Author + "\n" + imageNode.Attributes["src"].Value);

Je suis capable de saisir correctement l'auteur de la commande et celle-ci envoie comme il le devrait ...

Sortie dans le canal:

 enter image description here

Cependant, ce n'est pas réellement envoyé comme une balise, mais simplement du texte brut.

Existe-t-il un moyen d'envoyer un avis à l'utilisateur?

3
user9377936

Oui, en utilisant User.Mention.

await Context.Channel.SendMessageAsync(Context.Message.Author.Mention + "\n" + imageNode.Attributes["src"].Value);

Vous pouvez aussi simplement mettre leur identifiant entre <@>. Par exemple, "Hello <@1234>"

3
Wright

L'une de mes choses préférées à propos de C # 6 est que vous pouvez également utiliser l'interpolation de chaînes. Très utile dans Discord.Net!

var id = Context.Message.Author.Id;
await Context.Channel.SendMessageAsync($"<@{id}> \n {imageNode.Attributes["src"].Value}";
0
Solarcloud