GET https: //notify-bot.line.me/oauth/authorize
、POST https://notify-bot.line.me/oauth/token
請自行參閱。POST
方法,需要的Header內容要求,以Python程式碼實現對照如下:headers = {
"Authorization": "Bearer " + token,
"Content-Type" : "application/x-www-form-urlencoded"
}
message
是必須的,格式為文字,最多1000個字元。即是先前的Python程式碼裡面所用的payload = {'message': msg }
,是必要內容。imageThumbnail
、imageFullsize
是選用的,有最大尺寸限制。imageFile
圖片路徑為選用,支援.png
、.jpg
,權限比imageThumbnail
、imageFullsize
優先。stickerPackageId
、stickerId
為選用,能用的貼圖官方整理於Sticker List,在使用貼圖時這兩個參數都要填,不然會報錯。notificationDisabled
是否關閉用戶通知,預設false。#分享鐵人幫的文+貼圖+縮圖程式
import requests
from bs4 import BeautifulSoup as bs
def lineNotifyMessage(token, msg, img):
headers = {
"Authorization": "Bearer " + token,
"Content-Type" : "application/x-www-form-urlencoded"
}
payload = {
'message': msg,
'imageThumbnail' : img, #imageThumbnail、imageFullsize為成對的圖片,各有尺寸大小
'imageFullsize' : img,
'stickerPackageId' : 2, #stickerPackageId、stickerId為貼圖成對的編號,參閱Line Sticker List
'stickerId' : 520
}
r = requests.post("https://notify-api.line.me/api/notify", headers = headers, params = payload)
return r.status_code
if __name__ == "__main__":
token = '你的權杖內容'
message = '大賢者【告】今日網友梗圖Top1'
url = 'https://memes.tw/wtf' # 爬取https://memes.tw/wtf中網友創作的第一張梗圖
img = bs(requests.get(url).text ,"lxml").find_all("", {'class': 'img-fluid'})[0]['data-src']
lineNotifyMessage(token, message, img)
覺得這功能很有趣XD但是是不是只能向自己推播,沒辦法讓別人訂閱由GAS定時好的notify呢?
這問題很好,您可以依照 Day 6 : 歐逆醬早安,建立 LINE Notify 推播通知 選定你要接收通知的聊天室,以後聊天室加入好友即可。
另在 LINE Notify 官方網站下方有個「登錄服務」的選項,是可以建立一個讓人訂閱的公開 LINE Notify 推播服務,但本系列文主軸會有些失衡故無細說喔。
謝謝您!
謝謝您持續關注喔!
請問開發者文件中的新版Sticker ID list也可以如上述方法使用嗎?
我嘗試過舊版Sticker ID list的貼圖可以成功發送,但替換成新版id就會出現錯誤Invalid stickerPackageId
非常感謝您抽空回答。
您好,目前新版Sticker_list的檔案跟LINE MessageAPI的Sticker_list一致,但似乎LINE Notify尚未支援,需要官方修正。
也分享如果在LINE MessageAPI的Python寫法,使用新貼圖是OK的:
from linebot.models import StickerSendMessage
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
if event.message.text[:3] == "@貼圖":
sticker_message = StickerSendMessage(
package_id='11537',
sticker_id='52002765'
)
line_bot_api.reply_message(event.reply_token, sticker_message)
Line Notify貼圖不能用,這是在LINE Message的顯示,
更新修正情形,LINE Notify 及LINE MessageAPI的貼圖清單已更新,都會導引到新版的網址介紹,介紹方式也從先前pdf更新為網頁,且兩服務的貼圖皆可共用,請rensz再試試看。