iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

嘗試使用Python與Open Data 打造自動化投資系列 第 29

Python與Line Bot(3):多媒體訊息

  • 分享至 

  • xImage
  •  

前一篇談到了如何用PYTHON與LINE BOT串接
在這一篇中,我們將著重於 LINE Bot 的基本功能,特別是處理圖片、影片和音訊訊息。這些功能將使您的股市LINE機器人更具互動性和多媒體性。

圖片、影片和音訊訊息

圖片訊息
在 LINE Bot 中,您可以接收和發送圖片訊息。這些圖片可以用於傳達股市趨勢圖、股票圖表或其他視覺化信息。以下是如何處理圖片訊息的範例:

from linebot.models import ImageSendMessage

# 創建 ImageSendMessage
image_message = ImageSendMessage(
    original_content_url='https://example.com/original.jpg',
    preview_image_url='https://example.com/preview.jpg'
)

# 發送圖片訊息給用戶
line_bot_api.push_message(user_id, image_message)

影片訊息
LINE Bot 也支援影片訊息,這可用於分享影片新聞、教育內容或其他影片相關資訊。以下是如何處理影片訊息的示例:

from linebot.models import VideoSendMessage

# 創建 VideoSendMessage
video_message = VideoSendMessage(
    original_content_url='https://example.com/original.mp4',
    preview_image_url='https://example.com/preview.jpg'
)

# 發送影片訊息給用戶
line_bot_api.push_message(user_id, video_message)

音訊訊息
除了圖片和影片,LINE Bot 還支援音訊訊息。這可用於播放股市相關的音訊新聞、分析報告或其他音訊內容。以下是如何處理音訊訊息的示例:

from linebot.models import AudioSendMessage

# 創建 AudioSendMessage
audio_message = AudioSendMessage(
    original_content_url='https://example.com/original.m4a',
    duration=240000
)

# 發送音訊訊息給用戶
line_bot_api.push_message(user_id, audio_message)

快速回覆

有了這些多媒體方式的呈現 接著 我們就可以用 LINE的快速回覆功能 將這些merge在一起

LINE Bot 提供了 Quick Reply 功能,可以讓您在 LINE 聊天中更輕鬆地提供用戶預定的快速回覆選項。以下是一個範例 Python 程式,演示如何使用 LINE Bot SDK 中的 Quick Reply 功能:
簡單提供一個快速回覆的sample

from linebot import LineBotApi
from linebot.models import TextSendMessage, QuickReply, QuickReplyButton, MessageAction
from linebot.exceptions import LineBotApiError

# 替換為您的 Channel Access Token
channel_access_token = 'YOUR_CHANNEL_ACCESS_TOKEN'

# 初始化 Line Bot API
line_bot_api = LineBotApi(channel_access_token)

# 處理快速回覆事件
def handle_quick_reply(event):
    # 設定快速回覆選項
    quick_reply = QuickReply(
        items=[
            QuickReplyButton(
                action=MessageAction(label="Hello", text="Hello")
            ),
            QuickReplyButton(
                action=MessageAction(label="How are you?", text="How are you?")
            ),
        ]
    )
    
    # 創建回覆訊息,並將快速回覆選項附加到訊息中
    reply_message = TextSendMessage(text="Please select an option:", quick_reply=quick_reply)
    
    # 使用回覆訊息
    try:
        line_bot_api.reply_message(event.reply_token, reply_message)
    except LineBotApiError as e:
        print(e)

# 設定 Webhook 路由
if __name__ == "__main__":
    app.run()

TextSendMessage中的text : 輸入關鍵字後,LINEBOT回覆的訊息
QuickReplyButton : 快速回覆的選項按鈕
QuickReply : LINE提供的快速回覆函式
label : 選項按鈕顯式的文字
text : 選項選擇後所輸出的文字


上一篇
Python與Line Bot(2):串接測試
下一篇
開始你的自動化投資之旅
系列文
嘗試使用Python與Open Data 打造自動化投資30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言