예제 #1
0
def main():
    client = LineClient(authToken=token)
    for op in client.longPoll():
        print op
        print op[0]
        print op[1]
        print op[2]
        print op[3]
예제 #2
0
파일: bot.py 프로젝트: carpedm20/blackbot
class Black(object):
    prefix  = "!"

    name    = "검정봇"
    creator = "carpedm20"

    def __init__(self, id=None, password=None, authToken=None):
        if not (id and password or authToken):
            msg = "`id` and `password` or `authToken` is needed"
            raise Exception(msg)

        self._session = requests.Session()
        self.talk     = Talk(self.name, self.creator, self._session) 

        self.id       = id
        self.password = password

        if authToken:
            self.line = LineClient(authToken=authToken)
        else:
            self.line = LineClient(self.id, self.password)

    def run(self):
        ops = []

        for op in self.line.longPoll():
            ops.append(op)

        for op in ops:
            sender   = op[0]
            receiver = op[1]
            message  = op[2]

            try:
                if message.text[0] == self.prefix:
                    response = self.talk.get_message(sender,
                                                     receiver,
                                                     message.text[1:])

                    receiver.sendMessage(response)
                else:
                    pass
            except Exception as e:
                print e
예제 #3
0
파일: bot.py 프로젝트: carpedm20/blackbot
class Black(object):
    prefix = "!"

    name = "검정봇"
    creator = "carpedm20"

    def __init__(self, id=None, password=None, authToken=None):
        if not (id and password or authToken):
            msg = "`id` and `password` or `authToken` is needed"
            raise Exception(msg)

        self._session = requests.Session()
        self.talk = Talk(self.name, self.creator, self._session)

        self.id = id
        self.password = password

        if authToken:
            self.line = LineClient(authToken=authToken)
        else:
            self.line = LineClient(self.id, self.password)

    def run(self):
        ops = []

        for op in self.line.longPoll():
            ops.append(op)

        for op in ops:
            sender = op[0]
            receiver = op[1]
            message = op[2]

            try:
                if message.text[0] == self.prefix:
                    response = self.talk.get_message(sender, receiver,
                                                     message.text[1:])

                    receiver.sendMessage(response)
                else:
                    pass
            except Exception as e:
                print e
예제 #4
0
def run_bot():
  try:
     client = LineClient(EMAIL, PASSWORD)
  #   client = LineClient(authToken=token)
  except:
     print "Login Failed"

  print "===START SERVER==="
  while True:
     op_list = []

     for op in client.longPoll():
        op_list.append(op)

     for op in op_list:
        sender   = op[0]
        receiver = op[1]
        message  = op[2]

        cr = CekResi(message.text)
        print "RESI %s" % message.text
        response = cr.post()
        msg = response
        sender.sendMessage("[%s] %s" % (sender.name, msg))
예제 #5
0
파일: t-bot.py 프로젝트: taiwei608/t-bot
import regexp
import WebCrawler
import weather
KeyFile = open("token", "r")
AuthToken = KeyFile.read().strip()

try:
    client = LineClient(authToken=AuthToken)

except:
    print "Hey Login Failed"

while True:
    op_list = []

    for op in client.longPoll():
        op_list.append(op)

    for op in op_list:
        sender   = op[0]
        receiver = op[1]
        message  = op[2]
        
        msg = message.text
        print str(receiver) + "\t" + str(sender) + "\t" + str(message)
        m = regexp.REMatcher(msg)

        if str(msg).strip() == "None":
            print("It's a Sticker")
            break
        elif m.match(r't-bot'):
예제 #6
0
파일: Police.py 프로젝트: bot1line1/test4
    op_list = []
    timeSeen = []
    appendSeen = []
    dataResult = []
    #recheck
    userList = []
    timelist = []
    contacts = []
    recheckData = []
    #cancelAll
    myListMember = []

    #getFriend list @
    listFriend = []

    for op in client.longPoll():
        op_list.append(op)

    for op in op_list:
        sender = op[0]
        receiver = op[1]
        message = op[2]

        if message.text is not None:
            msg = message.text
            # hadist
            if '/hd' in msg:
                arg = msg.split('-')
                if len(arg) > 1:
                    imam = arg[0][3:].strip()
                    nom = arg[1].strip()
예제 #7
0
#recent_group_msg = client_group.getRecentMessages(count=10)
#print "RecentMessages : %s\r\n" % recent_group_msg

while True:

    result = client.service.ReceiveMessage()
    if len(result) > 0:
        for list in result[0]:
            item_id = list["ID"]
            room_name = list["ROOM"]
            value = list["VALUE"]
            client_group.sendMessage(value)

    op_list = []
    for op in lineclient.longPoll():
        op_list.append(op)

    for op in op_list:
        sender = op[0]
        receiver = op[1]
        message = op[2]
        msg = message.text

        fromwhom = lineclient.getContactByName(sender.name)
        #print "fromwhom : %s\r\n" % fromwhom

        result = process(msg)
        if result != "":
            receiver.sendMessage("%s" % result)
예제 #8
0
파일: LineLib.py 프로젝트: kotarou9/LineLib
class LineLib(object):
	def __init__(self):
		self._inst = None
		self.token = None
		self.cname = "Ubuntu"
		self.timeStarted = None
		self.sleep = 0.2
		self.autoAcceptInviteTimer = 20
		self._tasks = {}
		self.Login()

	def setInterval(self, interval, func, *args, **kw):
		"""
			runs every x seconds
			@interval: seconds until run
                	@func: function to call once interval has been reached 
                	@args: function arguments
			@example1: self.setInterval(3, function, pr1, pr2)
                	@example2: self.setInterval(3, function)
                	returns the task you can use this to cancel using the cancel() method
		"""
		task = _Task(interval, func, *args, **kw)
		task.interval()
		return task

	def setTimeout(self, interval, func, *args, **kw):
		"""
			@interval: seconds until run
			@func: function to call once interval has been reached
			@args: function arguments
			@example1: self.setTimeout(3, function, pr1, pr2)
			@example2: self.setTimeout(3, function)
			returns the task you can use this to cancel using the cancel() method
		"""
		task = _Task(interval, func, *args, **kw)
		task.timeout()
		return task
		
	def setIntervalByName(self, name, interval, func, *args, **kw):
		if name in self._tasks.keys(): 
			return False
		else:
			self._tasks[name] = self.setInterval(interval, func, *args, **kw)
			return True
	
	def setTimeoutByName(self, name, interval, func, *args, **kw):
		if name in self._tasks.keys():
			return False
		else:
			self._tasks[name] = self.setTimeout(interval, func, *args, **kw)
			return True

	def getTaskByName(self, name):
		"""
		@name: name of task
		returns the task set by a name
		"""
		if name in self._tasks.keys(): 
			return self._tasks[name]

	def Login(self):
		try:
			self.onInit()
			self._inst = LineClient(authToken=self.token, com_name=self.cname)
			self.timeStarted = float(time.time())
			self.onLoginSuccessfull()
		except:
			self.onLoginFailure()

	def getRooms(self):
		return self._inst.rooms

	def getGroups(self):
		return self._inst.groups

	def getContacts(self):
		return self._inst.contacts
	
	def sendImage(self, recv, url):
		recv.sendImageWithUrl(url)

	def getRecentMessages(self, recv, count):
		return recv.getRecentMessages(count)

	def acceptAll(self):
		for grp in self.getGroups():
			try:
				grp.acceptGroupInvitation()
			except:
				pass
	def main(self):
		self.setIntervalByName("acceptAll", self.autoAcceptInviteTimer, self.acceptAll)
		while True:
			task.do_all_tasks() # we use the loop to our avantage :)
			ops = []
			for op in self._inst.longPoll():
				ops.append(op)
			for op in ops:	
				sender = op[0]
				recv = op[1]
				message = op[2]
				self.onMessage(recv, sender, message)
				time.sleep(self.sleep)
	
		def onMessage(self, recv, user, msg):
			pass
			"""
				@recv: needed to send the message. It probably has other uses but, not sure yet.
				@user: this holds the user info 
				@msg: this holds the msg info
			"""
		def onLoginSuccessFull(self):
			pass
			"""
				basically says we were able to connect
			"""
		def onLoginFailure(self):
			pass
			"""
				basically it means we failed to connect
				most likely due to a bad token
			"""
		def onInit(self):
			pass
			"""
				this just allows us to set some params
			"""

		def cred(self):
			return """
예제 #9
0
파일: LineLib.py 프로젝트: kotarou9/LineLib
class LineLib(object):
    def __init__(self):
        self._inst = None
        self.token = None
        self.cname = "Ubuntu"
        self.timeStarted = None
        self.sleep = 0.2
        self.autoAcceptInviteTimer = 20
        self._tasks = {}
        self.Login()

    def setInterval(self, interval, func, *args, **kw):
        """
			runs every x seconds
			@interval: seconds until run
                	@func: function to call once interval has been reached 
                	@args: function arguments
			@example1: self.setInterval(3, function, pr1, pr2)
                	@example2: self.setInterval(3, function)
                	returns the task you can use this to cancel using the cancel() method
		"""
        task = _Task(interval, func, *args, **kw)
        task.interval()
        return task

    def setTimeout(self, interval, func, *args, **kw):
        """
			@interval: seconds until run
			@func: function to call once interval has been reached
			@args: function arguments
			@example1: self.setTimeout(3, function, pr1, pr2)
			@example2: self.setTimeout(3, function)
			returns the task you can use this to cancel using the cancel() method
		"""
        task = _Task(interval, func, *args, **kw)
        task.timeout()
        return task

    def setIntervalByName(self, name, interval, func, *args, **kw):
        if name in self._tasks.keys():
            return False
        else:
            self._tasks[name] = self.setInterval(interval, func, *args, **kw)
            return True

    def setTimeoutByName(self, name, interval, func, *args, **kw):
        if name in self._tasks.keys():
            return False
        else:
            self._tasks[name] = self.setTimeout(interval, func, *args, **kw)
            return True

    def getTaskByName(self, name):
        """
		@name: name of task
		returns the task set by a name
		"""
        if name in self._tasks.keys():
            return self._tasks[name]

    def Login(self):
        try:
            self.onInit()
            self._inst = LineClient(authToken=self.token, com_name=self.cname)
            self.timeStarted = float(time.time())
            self.onLoginSuccessfull()
        except:
            self.onLoginFailure()

    def getRooms(self):
        return self._inst.rooms

    def getGroups(self):
        return self._inst.groups

    def getContacts(self):
        return self._inst.contacts

    def sendImage(self, recv, url):
        recv.sendImageWithUrl(url)

    def getRecentMessages(self, recv, count):
        return recv.getRecentMessages(count)

    def acceptAll(self):
        for grp in self.getGroups():
            try:
                grp.acceptGroupInvitation()
            except:
                pass

    def main(self):
        self.setIntervalByName("acceptAll", self.autoAcceptInviteTimer,
                               self.acceptAll)
        while True:
            task.do_all_tasks()  # we use the loop to our avantage :)
            ops = []
            for op in self._inst.longPoll():
                ops.append(op)
            for op in ops:
                sender = op[0]
                recv = op[1]
                message = op[2]
                self.onMessage(recv, sender, message)
                time.sleep(self.sleep)

        def onMessage(self, recv, user, msg):
            pass
            """
				@recv: needed to send the message. It probably has other uses but, not sure yet.
				@user: this holds the user info 
				@msg: this holds the msg info
			"""

        def onLoginSuccessFull(self):
            pass
            """
				basically says we were able to connect
			"""

        def onLoginFailure(self):
            pass
            """
				basically it means we failed to connect
				most likely due to a bad token
			"""

        def onInit(self):
            pass
            """
				this just allows us to set some params
			"""

        def cred(self):
            return """
예제 #10
0
파일: truemspm.py 프로젝트: Saixiii/LINE
while True:
    time.sleep(random.randrange(3, 5))
    op_list = []
    op_count = 0
    dic_dis = dicloader(f_dis)
    dic_run = dicloader(f_run)
    dic_ccp = dicloader(f_ccp)
    dic_sce = dicloader(f_sce)
    dic_graph = dicloader(f_graph)
    dic_orun = dicloader(u_run)
    dic_odis = dicloader(u_dis)
    dic_occp = dicloader(u_ccp)
    dic_osce = dicloader(u_sce)
    try:
        for op in client.longPoll(debug=True):
            op_list.append(op)
            op_count += 1

        for op in op_list:
            sender = op[0]
            receiver = op[1]
            msg = op[2].text
            contype = op[2].contentType

            print "[%s] [ContentType : %s] [%s->%s] : %s" % (str(
                datetime.now()), contype, sender.name, receiver.name, msg)

            if contype == 0 and chkcall(msg):
                if op_count > maxread:
                    warnflood()
예제 #11
0
def main():
 client = LineClient(authToken=token)
 print client.revision
 for op in client.longPoll():
  print op