本篇不是講 carpedm20 用 Python 寫的那個非官方 LINE API
那個非官方的 API 似乎被 LINE 封鎖了, 2015-08-26 開始就不能使用
替代方案是用電腦版 LINE + AutoHotkey 自己做
簡單講就是把使用電腦版 LINE 的動作, 寫成一個 AutoHotkey Script , 帶參數進去就成了土法 API
Script 如下, 其中的座標要用 AutoIt3 Window Spy 進行調整成適合自己的環境, 每台電腦狀況不太一樣
CoordMode, Mouse, Screen ; 螢幕絕對座標
MouseClick, left, 944, 754, 2 ; 點兩下 LINE tray icon
CoordMode, Mouse, Relative ; 視窗相對座標
Sleep, 400
MouseClick, left, 70,66 ; 點「好友」圖示
MouseClick, left, 240,112 ; 點到搜尋欄
Send {BS 20}%1% ; 送出 20 個 Backspace (刪除上一個收訊者名稱) 及收訊者名稱
Sleep, 200
MouseClick, left, 100, 190, 2 ; 滑鼠到收訊者名稱點兩下
Sleep, 200
Send %2%{Enter} ; 輸入訊息及 Enter 送出
Sleep, 600 ; 這邊的停頓很重要, 停太少時間會導致訊息還沒送出就關閉視窗
Send ^w ; 關閉聊天視窗
return
存成 SendMessage.ahk
送訊息 SendMessage.ahk {個人或群組名稱} {訊息}
例如: SendMessage.ahk Pank 測試
這個方法的優點是不會被封鎖, 缺點是送訊息的速度沒辦法太快, 最快要 1 秒多
LINE 有改版時需留意 Layout 是否有變, 可能需要微調座標
進階一點可以用 Apache + PHP 弄個 API 遠端呼叫
訊息量多的話還需要弄個 Queue 來管理, 才不會有兩筆 Request 同時進來時,
造成 AutoHotkey Script 同時執行或執行時間有重疊而游標錯亂