line bot推送多訊息
1. 事前準備:
(1) 取得對方的User ID
需請對方加bot好友。對方封鎖bot好友時,對方會收不到發送的訊息。(2) 填入將User ID填入變數
取代下面程式碼的targetUID/TARGETUID的值。(3) 設定環境變數
export CHANNEL_ACCESS_TOKEN=你的line bot的access token2. 使用node.js發送
const targetUID = 'U1fcb...';const line = require('@line/bot-sdk');
const client = new line.Client({
channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN,
});
const msg1 = { type: 'text', text: 'Hello World1' };
const msg2 = { type: 'text', text: 'Hello World2' };
client.pushMessage(targetUID, msg1)
.then(() => {
console.log('send1 ok!');
client.pushMessage(targetUID, msg2)
.then(() => {
console.log('send2 ok!');
})
.catch((err) => {
console.error(err);
});
})
.catch((err) => {
console.error(err);
});
2.1 執行範例
若上面程式碼命名為send.js則node send.js
3. 使用CURL發送@Linux
export TARGETUID=U1fcb...curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ${CHANNEL_ACCESS_TOKEN?not found env}" \
-d "{
\"to\": \"${TARGETUID?not found env}\",
\"messages\":[
{\"type\":\"text\", \"text\":\"Hello, world1\"},
{\"type\":\"text\", \"text\":\"Hello, world2\"}
]
}"
後面訊息部份看起來比較亂,是因為json需要用雙引號,而我從BASH取環境變數也需要雙引號,只好都變成跳脫字元。
4. 參考
Line開發者文件https://developers.line.biz/en/docs/messaging-api/building-bot/#sending-a-request-to-an-endpoint
留言