async def read(self): t, p = await self.__queue.get() fields = [f.decode("UTF-8").strip("\0") for f in ltd.split(p)] self.__process_message__(t, fields) return t, fields
async def read(self): t, p = await self.__queue.get() if t == "m": fields = [f.decode("UTF-8").strip(" \0") for f in ltd.split(p)] if len(fields) == 2: return fields
def __shush_to_hush__(self, type_id, payload): if type_id == "h": fields = [textutils.decode(f).strip() for f in ltd.split(payload)] if len(fields) >= 2 and fields[0] == "shush": payload = bytearray() payload.extend("hush\1".encode()) for field in fields[1:]: payload.extend(field.encode()) self.log.debug("Message transformed: type='h', command='hush'") return type_id, payload
def __private_message_to_command__(self, type_id, payload): if type_id == "h": fields = [textutils.decode(f).strip() for f in ltd.split(payload)] if len(fields) >= 2 and fields[0] == "m": args = [arg.rstrip(" \0") for arg in fields[1].split(" ", 2)] if len(args) >= 2 and args[0] == core.NICKSERV: type_id = "h" payload = bytearray() payload.extend(args[1].encode()) payload.append(1) if len(args) == 3: payload.extend(args[2].encode()) payload.append(0) self.log.debug("Message transformed: type='%s', command='%s'", type_id, args[1]) return type_id, payload