carpedm20/LINE 可以讓我們利用 LINE 來傳送訊息,可指令化、自動化的,它是用 python 寫的。

使用 carpedm20/LINE ,卻有登入問題 (Code is remove because of the request of LINE corporation),

所以再使用了 line 0.0.8 這版本,可以登入,但還是有 authToken 時間過期問題,每兩個小時的時間就要再手動登入,

不過再試了 line 0.5.2 ,它說 2015.03.31 authToken expiration issue solved,是真得嗎?,還是一樣有 authToken 時間過期問題。

安裝完 LINE API,先進入 python console

# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

載入 LINE 模組

>>> from line import LineClient, LineGroup, LineContact

使用帳密登入,就會出現一組號碼,把它輸入手機認證,讓這裡可以被允許使用 LINE

>>> client = LineClient("cross@ssorc.tw", "12345678")
Enter PinCode '5647' to your mobile phone in 2 minutes

認證成功後,再用 client.authToken 得到 KEY,這 KEY 就可以在程式裡面使用了,不用透過帳密

>>> print client.authToken
DSRgOkedmgPctLKJ4hh1.xhO+vkBB/aDMVvaUNEeTyq.yAbCqooMCuFOlpH8wFED0wDmicr0m1qqahnHmpkyrSM=

程式範例

from line import sys, LineClient, LineGroup, LineContact

try:
    client = LineClient(authToken="DSRgOkedmgPctLKJ4hh1.xhO+vkBB/aDMVvaUNEeTyq.yAbCqooMCuFOlpH8wFED0wDmicr0m1qqahnHmpkyrSM=")
except:
    print "Login Failed"

while True:
    client.groups[1].sendMessage(sys.argv[1])
    break

執行方式

python xxx.py [MESSAGE]

程式裡的 client.group[1] 代表是群組裡面的第二個,

我們可以列出有那些群組,再去決定 client.group 裡的數字是多少。

這邊有三個群組,分別是 groups[0]、groups[1]、groups[2] 表示

>>> print client.groups
[<LineGroup XXXX1 #1>, <LineGroup XXX2 #11>, <LineGroup XXX3 #11>]
>>>

至於好友就是 client.contacts 顯示出來,再用 contacts[X]

>>> print client.contacts
[<LineContact test1>, <LineContact test2>, <LineContact test3>]

送訊息的方式

>>> client.contacts[0].sendMessage("test")
True
>>> client.groups[0].sendMessage("test")
True
Related posts 相關文章
postman 與 swagger 是 API 開發工具
More...
怎麼用 icinga-web 本身的 REST API – GET 部份
More...
監控系統 icinga (nagios 的分支) 安裝 icinga-web 時遇到 500 internal server error
More...
有人把台灣水利署的水庫蓄水量資料圖示化
More...

作者

留言

a10210319 

請問這個現在還能用嗎?

請問如何將python程式包到web或android apk裡嗎,就是說用 textbox控制要傳送的訊息內容

    作者

    哈囉! 這就超出我的範圍了,我尚未研究過咧

請問Line API目前還可以使用嗎?

    作者

    它一直都可以使用,只是一段時間就要 login 目前是沒有在 follow 是否有新版

想要得到 authToken 可以使用 0.0.1 版的 LINE 套件喔 話說想請教群組踢人的指令

Dear all: 我是直接看原作carpedm20/LINE實作 原作後來有更新update authToken 我也實作過確認是可以使用的 bot也就這樣跑了不知道幾天 直到昨晚…. bot停了 想說是不是LINE有更新 去github查看 發現LINE對原作祭出了DMCA 所以bot正式的停止了 再也不能登入…

哈囉 想請問一下 我用0.7.1+登入動手腳後可以正常使用 目前用官方範例longPoll做自動回復 但是我發現他跑一跑會自己卡住掛掉 甚至在剛剛我整個IP被*.line.naver.jp鎖掉了 Orz 我發現他的longPoll一秒鐘就送出了3~4個request 一個晚上就送了幾萬個request… 或許是被認定為DDoS惡意攻擊之類的 不知道您有沒有遇過類似問題呢? 謝謝

您好,想請問一下您有沒有遇過這個問題。我使用的是line 0.0.8。 >>> client = LineClient(“ID”, “xxxxxx”) Enter PinCode ‘3235’ to your mobile phone in 2 minutes 在我手機輸入完pincode之後,LINE APP上”登入中的裝置”有顯示carpedm20 但在terminal卻出現 Traceback (most recent call last): File “”, line 1, in File “build/bdist.linux-i686/egg/line/client.py”, line 318, in __init__ File “build/bdist.linux-i686/egg/line/client.py”, line 380, in login File “build/bdist.linux-i686/egg/curve/CurveThrift.py”, line 384, in loginWithVerifierForCertificate File “build/bdist.linux-i686/egg/curve/CurveThrift.py”, line 406, in recv_loginWithVerifierForCertificate thrift.Thrift.TApplicationException: loginWithVerifierForCertificate failed: unknown result 謝謝指教!

    作者

    這個我也沒遇過,不過從最後一行來看 loginWithVerifierForCertificate failed 可朝 pincode 方向查詢,輸入對嗎 !! 等等

請問一下 我前面都有做對..KEY也有出來,但是卡在程式碼的部分..我用Python2.7.10版IDLE去寫 存成.py之後 執行 python xxx.py [MESSAGE] 但是報錯 請問是哪邊有問題呢? File “C:\Users\xxx.py”, line 1 Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] o n win32 ^ SyntaxError: invalid syntax

    作者

    這看起來像是python語法問題,比如說python多、或少了空隔都會有錯誤等等,我沒用過IDLE,我的python是2.4.3版

a0989701 

應該是沒有打錯的,因為我的手機的LINE確實收到的認證碼的詢問, 輸入認證碼後會跳出 Traceback (most recent call last ): File “” , line 1, in File “line/client.py”, line 82, in __init__ self.ready() File “line/api.py”, line 60, in ready raise Exception(“Code is remove because of the request of LINE corporation”) Exception: Code is remove because of the request of LINE corporation”

    作者

    會出現這個訊息是因為你只安裝 carpedm20/LINE ,不是用 line 0.0.8 或 line 0.5.2 的原因 因為 carpedm20/LINE 本身提供的就是會出現 Code is remove because of the request of LINE corporation (已補充,感謝你)

a0989701 

進入python之後,前2個步驟都對,但是到第3個時authToken卻印不出來,會顯示”client” is not defined 如果未被定義,那第2行的認證碼應該都出不來阿 不知道甚麼問題耶

    作者

    client 是變數,也就是說 client = LineClient(“cross@ssorc.tw”, “12345678”) 這行就失敗了,還是你打錯字 ? 或帳密不對 ?

我會出現error: no commands supplied請問要怎麼辦

    作者

    你是作了什麼之後才出現這個的 ? 先確定 from line import LineClient, LineGroup, LineContact 這行是成功的 不然就要再確認先安裝 carpedm20/LINE 還要安裝 line 0.5.2

Hi 看到這個很有趣 想請教一下,我在 mac osx 安裝好 thrift 後 安裝 line package, 照著您的步驟做, 由於會出現 remove code 訊息的 exception message, 所以我就把它註解掉,但是之後在 輸入帳密時會出現 curve.ttypes.TalkException: TalkException(parameterMap=None, reason=’Authentication Failed.’, code=1) ,所以想請問一下 我錯在哪個步驟了呢?

    作者

    這是我沒看過的訊息,說不定google一下就可能有答案了

其實我覺得應該是怕垃圾訊息

    作者

    我只傳給我的好友或群組,如果還收到垃圾訊息,要嘛是沒關閉非好友的人可傳,要嘛就是漏洞了。

我認為過期的問題應該是官方故意的 因為 LINE PC 版本身也會有放太久被踢出去的狀況

    作者

    我想官方不開放我們可以用 API,本身就是一個故意的 :D 還是怕風險太高,不夠安全呢 ?

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。