web-dev-qa-db-fra.com

Comment envoyer une intégration via mon bot Discord, avec / python?

J'ai travaillé sur un nouveau bot Discord.

J'ai appris quelques trucs et, maintenant, j'aimerais rendre les choses un peu plus personnalisées.

J'ai essayé de faire en sorte que le bot envoie des intégrations, au lieu d'un message commun.

embed=discord.Embed(title="Tile", description="Desc", color=0x00ff00)
embed.add_field(name="Fiel1", value="hi", inline=False)
embed.add_field(name="Field2", value="hi2", inline=False)
await self.bot.say(embed=embed)

Lors de l'exécution de ce code, j'obtiens l'erreur que "Embed" n'est pas un membre valide du module "discord". Tous les sites Web, montrez-moi ce code, et je n'ai aucune idée d'un autre moyen d'envoyer une intégration.

5
Norberto A.

Pour le faire fonctionner, j'ai changé votre ligne send_message en await message.channel.send(embed=embed)

Voici un exemple complet de code pour montrer comment tout cela va:

@client.event
async def on_message(message):
    if message.content.startswith('!hello'):
        embed = discord.Embed(title="Title", description="Desc", color=0x00ff00)
        embed.add_field(name="Field1", value="hi", inline=False)
        embed.add_field(name="Field2", value="hi2", inline=False)
        await message.channel.send(embed=embed)

J'ai utilisé les documents discord.py pour trouver cela. https://discordpy.readthedocs.io/en/latest/api.html#discord.Webhook.send pour la disposition de la méthode d'envoi.

https://discordpy.readthedocs.io/en/latest/api.html#embed pour la classe Embed.

Avant la version 1.0 : Si vous utilisez une version antérieure à 1.0, utilisez plutôt la méthode await client.send_message(message.channel, embed=embed).

12
Tim

Lors de l'exécution de ce code, j'obtiens l'erreur que "Embed" n'est pas un membre valide du module "discord". Tous les sites Web, montrez-moi ce code, et je n'ai aucune idée d'un autre moyen d'envoyer une intégration.

Cela signifie que vous êtes obsolète. Utilisez pip pour mettre à jour votre version de la bibliothèque.

pip install --upgrade discord.py
4
khazhyk
@bot.command
async def displayembed(ctx):
embed = discord.Embed(title="Your title here", description="Your desc here", #color=Hex code)
embed.add_field(name="Name", value="you can make as much as fields you like to")
embed.set_footer(name="footer") #if you like to
await ctx.send(embed=embed)
0
Mad