Exemplo n.º 1
0
    def get(self):
        parser.add_argument('id', type=str, location='args')
        args = parser.parse_args()
        token = args['token']
        try:
            id = args['id']
        except IndexError :
            return {} , 506, {'Access-Control-Allow-Origin': '*'}
        client = LineClient(authToken=token)
        lineTokenChecker = LineTokenChecker()
        if (lineTokenChecker.check(client)) :
            try :
                if (id[0] =='u'):
                    contact = client.getContactById(id)
                    if contact :
                        message = client.getMessageBox(id)
                        msg ={}
                        msg["status"] = message.status
                        msg["unreadCount"] = message.unreadCount
                        msg["lastSeq"] = message.lastSeq
                        lastMessages = {} 
                        msg["lastMessages"]= (message.lastMessages[0].__dict__)

                        msg["midType"] = message.midType
                        msg["channelId"] = message.channelId, 
                        msg["lastModifiedTime"] = message.lastModifiedTime  
                        msg["id"] = message.id
                        return msg, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到使用者'}, 500, {'Access-Control-Allow-Origin': '*'}
                elif (id[0] =='c'):
                    group = client.getGroupById(id)
                    if group :
                        message = client.getMessageBox(id)
                        msg ={}
                        msg["status"] = message.status
                        msg["unreadCount"] = message.unreadCount
                        msg["lastSeq"] = message.lastSeq
                        lastMessages = {} 
                        msg["lastMessages"]= (message.lastMessages[0].__dict__)

                        msg["midType"] = message.midType
                        msg["channelId"] = message.channelId, 
                        msg["lastModifiedTime"] = message.lastModifiedTime  
                        msg["id"] = message.id
                        return msg, 200, {'Access-Control-Allow-Origin': '*'}
                    else :
                        return {'status':'failure','msg':'找不到使用者'}, 500, {'Access-Control-Allow-Origin': '*'}
                else :
                    return {'status':'failure','msg':'錯誤的id'}, 500, {'Access-Control-Allow-Origin': '*'}
            except Exception :
                print Exception
            return {'status':'failure'}, 500, {'Access-Control-Allow-Origin': '*'}
        else :
            return json.loads(lineTokenChecker.msg),505,{'Access-Control-Allow-Origin': '*'}
Exemplo n.º 2
0
# -*- coding: utf-8 -*-
from line import LineClient
from os import environ
import re
import time

try:
    LINE_USERNAME      = environ.get("LINE_USERNAME", "")
    LINE_PASSWORD      = environ.get("LINE_PASSWORD", "")
    LINE_COMPUTER_NAME = environ.get("LINE_COMPUTER_NAME", "LineBotWorker")
    client = LineClient(id=LINE_USERNAME, password=LINE_PASSWORD, com_name=LINE_COMPUTER_NAME)
    print "Connected"
    if client.verifier:
        print client.verifier, client.pinCode
except Exception as e:
    print "Login Failed\n", e.message
    exit()

while True:
    group = client.getGroupByName("LineBotWorker")
    chat = client.getMessageBox(group.id)
    if not chat or not chat.unreadCount: continue
    messages = client.getRecentMessages(chat, chat.unreadCount)
    messages.reverse()
    for message in messages:
        if re.match(r'(เล้ง|เลิ้ง|เลี้ยง)', message.text):
            group.sendMessage("ว่าไงครัซซ")
            break
    time.sleep(5)