Mettre de l'html dans la commande 'reply' d'un bot discord

a marqué ce sujet comme résolu.

Bonjour ;)

Je suis novice en Javascript et ai réussis ce matin à créer un bot pour discord qui répond à une commande! :p

le bot en question répond par du texte pur et simple, enfin simple c’est vite dit! :lol:

Image utilisateur
Image utilisateur

Voila ma seconde étape est de faire apparaitre une image.

je vous passe les test que j’ai fais ^^

Image utilisateur
Image utilisateur

devant y ajouter par la suite du texte, je me suis dit pourquoi ne pas créer un .html et l’incorporé! :ange:

j’ai donc créer ce fichier et l’ai mis dans le même répertoire que le .js de la commande! :ninja:

Image utilisateur
Image utilisateur

voici donc le code du fichier html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Exemple 1</title>
        <script src="scripts.js"></script>
    </head>

    <body>
        <strong><span>Famille</span></strong> <span>: Zombie</span> <BR>
        <strong><span>Classe</span></strong> <span>: Sentinelle</span> <BR>
        <strong><span>Cotation</span></strong> <span>: A-</span><BR>
        <strong><span>Commentaire</span></strong><span>: Attention à bien monter sa stat de défense sur laquelle repose sa CS! </span> <BR>
        <span><img src="https://media.discordapp.net/attachments/1070254352868048898/1125041181777199124/5_jaune_foley.png?width=300&height=501"><BR>
        <span>Puzzle Combat Guide FR</span>
    </body>
</html>

qui donne ceci => exemple test

Oui je sais, c’est en mode bourrin pour mes tests! :D
J’y ajouterai par la suite du CSS et la tabulation sous forme de div :-°

voici le fichier de la commande de mon bot

const { SlashCommandBuilder } = require('discord.js');

module.exports = {
	data: new SlashCommandBuilder()
		.setName('test_tony_1')
		.setDescription('Test de bot 1!'),
	async execute(interaction) {
		return interaction.reply('<div id="x"></div>');
	},
};

Ouais là, je bug complètement et ne sais comment m’y prendre! :euh:

Auriez vous la solution? :timide: :ange:

Je vous remercie d’avance pour vos réponses! <3

Ho ho j’ai enfin trouvé exactement ce qui répond à ma demande.

Embeds

Mais je ne sais pas comment le mettre en place :(

Je cache pas que je commence à avoir mal au crâne là! :lol:

Je vais faire une petite pause d’une heure ^^

Si éventuellement vous avez des astuces la dessus, comme où placer ces codes donnés dans l’exemple ou autres, je suis preneur! :ange:

+0 -0

Je n’ai pas de quoi tester mais la doc a l’air plutôt claire. Il suffit que tu renvoies un objet embed.

Cela dit faudrait éplucher un peu la doc pour s’assurer que c’est bien ce que tu cherches, parce que ça ressemble à l’objet destiné à afficher l’aperçu des liens et des vidéos, donc ton utilisation m’a l’air un peu détourné mais peut être que c’est moi qui me fait des idées.

en tout cas ça devrait ressembler à quelque chose comme ça

const { SlashCommandBuilder, AttachmentBuilder, EmbedBuilder } = require('discord.js');

function retrieveCharacterSheet()
{
  const attachedFile = new AttachmentBuilder('../assets/5_jaune_foley.png'); // <-- le chemin vers le stockage de ton image
  const embedFrame = new EmbedBuilder()
    .setColor('Gold')
    .setTitle('Foley')
    .setDescription('Charmant policier infiltré')
    .setAuthor({name : 'Puzzle Combat Guide FR'})
    .addFields(
      { name : 'Famille', value : 'Zombie', inline: true},
      { name : 'Classe ', value : 'Sentinelle ', inline: true},
      { name : 'Cotation ', value : 'A-', inline: true},
      { name: '\u200B', value: '\u200B' },
      { 
        name : 'Commentaire',
        value : 'Attention à bien monter sa stat de défense sur laquelle repose sa CS! '
      }
    )
    .setImage('attachment://5_jaune_foley.png')
    .setTimestamp();
  return { embeds: [embedFrame], files: [attachedFile] };
}

module.exports = {
	data: new SlashCommandBuilder()
		.setName('test_tony_1')
		.setDescription('Test de bot 1!'),
	async execute(interaction) {
		return interaction.reply(retrieveCharacterSheet());
	},
};
+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte