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
最後修改日期: 2015 年 07 月 09 日

作者

留言

a10210319 

請問這個現在還能用嗎?

[Reply]

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

[Reply]

cross Reply:

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

[Reply]

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

[Reply]

cross Reply:

它一直都可以使用,只是一段時間就要 login

目前是沒有在 follow 是否有新版

[Reply]

想要得到 authToken 可以使用 0.0.1 版的 LINE 套件喔

話說想請教群組踢人的指令

[Reply]

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

[Reply]

哈囉
想請問一下

我用0.7.1+登入動手腳後可以正常使用
目前用官方範例longPoll做自動回復
但是我發現他跑一跑會自己卡住掛掉
甚至在剛剛我整個IP被*.line.naver.jp鎖掉了 Orz

我發現他的longPoll一秒鐘就送出了3~4個request
一個晚上就送了幾萬個request…
或許是被認定為DDoS惡意攻擊之類的

不知道您有沒有遇過類似問題呢?
謝謝

[Reply]

cross Reply:

尚未碰過!
有換 ip 確認過嗎,確實被擋 ?

[Reply]

您好,想請問一下您有沒有遇過這個問題。我使用的是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

謝謝指教!

[Reply]

cross Reply:

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

[Reply]

請問一下 我前面都有做對..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

[Reply]

cross Reply:

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

[Reply]

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”

[Reply]

cross Reply:

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

[Reply]

a0989701 

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

[Reply]

cross Reply:

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

[Reply]

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

[Reply]

cross Reply:

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

[Reply]

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

[Reply]

cross Reply:

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

[Reply]

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

[Reply]

cross Reply:

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

[Reply]

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

[Reply]

cross Reply:

我想官方不開放我們可以用 API,本身就是一個故意的 :D

還是怕風險太高,不夠安全呢 ?

[Reply]

撰寫回覆或留言

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