iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0

embed是discord.py中的一個非常有用的功能,它可以讓我們在Discord中發送富文本格式的消息。使用embed,我們可以創建一個消息框,裡面可以含有標題、描述、字段、縮略圖等元素。

要創建一個embed,我們需要先從discord.py導入Embed:

from discord import Embed

然後創建Embed物件:

embed = Embed() 

接著我們就可以通過以下方法為embed添加內容:

  • embed.title - 設置embed的標題
  • embed.description - 設置embed的描述文本
  • embed.add_field() - 添加字段,可以設置字段名稱、值、是否換行等
  • embed.set_thumbnail() - 設置縮略圖
  • embed.set_image() - 設置大圖
  • embed.set_footer() - 設置頁尾文本
  • embed.set_author() - 設置作者信息
  • embed.color - 設置顏色

詳細更多參數與方法可參考 https://discordpy.readthedocs.io/en/stable/api.html?highlight=embed#discord.Embed

最後通過channel.send(embed=embed)來發送這個embed。

使用embed可以讓我們的Discord消息更加豐富多彩,定製性也更強。掌握embed的使用可以幫助我們創建更好的使用者體驗!

當然你也不必自己寫embed,可以透過以下網站來幫你生成你想要的形式的embed。https://cog-creators.github.io/discord-embed-sandbox/


以下是一些範例

import discord
from discord.ext import commands

intents= discord.Intents.all()
bot = commands.Bot(command_prefix='^^',
                   intents=intents) 

@bot.command()
async def embed(ctx):
    embed = discord.Embed(title="Embed Title", description="This is an embed description.", color=0x00ff00)
    embed.set_author(name="Author Name", icon_url="https://i.imgur.com/xxxxxx.jpg")
    embed.set_thumbnail(url="https://i.imgur.com/xxxxxx.jpg") 
    embed.add_field(name="Field 1", value="This is field 1", inline=False)
    embed.add_field(name="Field 2", value="This is field 2", inline=True)
    embed.set_footer(text="This is the footer text")

    await ctx.send(embed=embed)

bot.run('token') 

這將會創建一個綠色主題的embed,有標題、描述、作者、縮略圖、兩個字段和頁尾文本。

你可以根據需要為embed添加更多內容,讓它看起來更豐富。discord.py提供了非常強大的定製功能,可以讓你創建出許多不同樣式的embed。


上一篇
[DAY25]Discord bot Cog檔建立
下一篇
[DAY27]Discord bot取得網頁消息 - 1
系列文
selenium爬蟲應用至discord bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言