在 Discord 中,Embed(嵌入訊息)是一種格式化訊息的方式,能讓機器人發送 更美觀、結構更清晰 的訊息。你可以用它呈現
- 標題與說明文字
- 超連結
- 欄位(Fields)
- 圖片與縮圖
- 作者資訊、時間戳與顏色等裝飾元素
這種結構化格式非常適合呈現資訊、狀態、排行榜、通知等內容。
事實上,對於大部分的超連結網址,Discord都會自動抓取網站的預覽內容並生成一個嵌入,可以自行貼一個Youtube影片來看看
基本語法
一個嵌入訊息是discord.Embed
組成的物件,可以用基本的物件初始化來達成:
1 2 3 4 5 6 7 8
| from datetime import datetime
embed = discord.Embed( title="這是標題", description="這是說明文字", color=discord.Color.blue(), timestamp = datetime.now() )
|
可以像這樣初始化設定的屬性有這些:
欄位 |
用途描述 |
title |
上方的粗體標題文字 |
description |
主體的說明文字 |
color/colour |
邊框的顏色(可用預設色或 RGB) |
timestamp |
時間戳記(需要是datetime.datetime格式) |
set方法
有些屬性比較複雜,可以有很多個參數,所以Discord將它設計為一個獨立的物件方法
作者
1 2 3 4 5 6
| embed.set_author( name="Rick Astley", url="https://www.youtube.com/watch?v=dQw4w9WgXcQ", icon_url="https://yt3.ggpht.com/K2ecE5j90a_DFzugHo0bW98vFlIQ1JJgs9mbcav7RGy1t7adJRnd2jaIv-oc6XzTRvDdWlFCAfc=s88-c-k-c0x00ffffff-no-rj" )
|
欄位 |
用途描述 |
name |
作者名字 |
url |
點擊連結 |
icon_url |
頭像圖片網址 |
頁腳
1 2 3 4
| embed.set_footer( text="這是頁腳", icon_url="https://example.com/image" )
|
圖片
縮圖預覽
1
| embed.set_thumbnail(url="https://minecraft.net/cover")
|
下面的大圖
1
| embed.set_image(url="https://minecraft.net/cover")
|
欄位
一個欄位會有一個名稱(標題)跟內容
並且一個embed可以有很多個欄位
inline
參數可以決定一個欄位是否允許與其他欄位併在同一盤排,還是要自己一排
1 2 3
| embed.add_field(name="數學", value="✅ 完成", inline=True) embed.add_field(name="英文", value="⏳ 進行中", inline=True) embed.add_field(name="歷史", value="❌ 未開始", inline=False)
|
送出
1 2 3 4
| await interaction.response.send_message(embed=embed)
await interaction.response.send_message(embeds=一個embed組成的陣列)
|