@classmethod
    def join(cls, argv):

        i, n = 0, len(argv)

        if i < n and argv[i].startswith("@"):
            if " " in argv[i]:
                raise ValueError("Argument %d contains spaces: %r" % (i, argv[i]))
            i += 1

        if i < n and " " in argv[i]:
            raise ValueError("Argument %d contains spaces: %r" % (i, argv[i]))

        if i < n and argv[i].startswith(":"):
            if " " in argv[i]:
                raise ValueError("Argument %d contains spaces: %r" % (i, argv[i]))
            i += 1

        while i < n-1:
            if not argv[i]:
                raise ValueError("Argument %d is empty: %r" % (i, argv[i]))
            elif argv[i].startswith(":"):
                raise ValueError("Argument %d starts with colon: %r" % (i, argv[i]))
            elif " " in argv[i]:
                raise ValueError("Argument %d contains spaces: %r" % (i, argv[i]))
            i += 1

        parv = argv[:i]

        if i < n:
            if not argv[i] or argv[i].startswith(":") or " " in argv[i]:
                parv.append(":%s" % argv[i])
            else:
                parv.append(argv[i])

        return " ".join(parv).encode("utf-8") + b"\r\n"
Client startup point.
dataset/ETHPy150Open grawity/hacks/irc/parsers/python/irc.py/Frame.join--crossover with--dataset/ETHPy150Open jonathanslenders/python-deployer/deployer/client.py/start