web-dev-qa-db-ja.com

Discordボットを使用して、/ pythonで埋め込みを送信するにはどうすればよいですか?

私は新しいDiscordボットに取り組んでいます。

いくつかのことを学びましたが、今はもう少しカスタマイズしたいです。

代わりに、一般的なメッセージの埋め込みをボットに送信させようとしました。

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)

このコードを実行すると、「Embed」はモジュール「discord」の有効なメンバーではないというエラーが表示されます。すべてのWebサイトでこのコードを表示しますが、埋め込みを送信する他の方法がわかりません。

5
Norberto A.

動作させるために、send_messageの行をawait message.channel.send(embed=embed)に変更しました

以下に、すべてがどのように適合するかを示す完全なコード例を示します。

_@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)
_

これを見つけるのにdiscord.pyドキュメントを使用しました。 https://discordpy.readthedocs.io/en/latest/api.html#discord.Webhook.send sendメソッドのレイアウト用。

https://discordpy.readthedocs.io/en/latest/api.html#embed Embedクラスの場合。

バージョン1.0より前:1.0より前のバージョンを使用している場合は、代わりにメソッドawait client.send_message(message.channel, embed=embed)を使用します。

12
Tim

このコードを実行すると、「Embed」はモジュール「discord」の有効なメンバーではないというエラーが表示されます。すべてのWebサイトでこのコードを表示しますが、埋め込みを送信する他の方法がわかりません。

これは、あなたが古いことを意味します。 pipを使用して、ライブラリのバージョンを更新します。

pip install --upgrade discord.py
4
khazhyk