Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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