public static String userList(Channel channel) {
		PacketBuilder buffer = new PacketBuilder(
				SendOpcode.USER_LIST.getValue());

		buffer.writeByte(0x00);
		buffer.writeString(channel.getName());

		for (Client client : channel.getClients()) {
			buffer.writeByte(0x00);
			buffer.writeString(client.getName());
			buffer.writeByte(0x00);
			buffer.writeByte('p'); // font weight
			buffer.writeByte(0x00);
			buffer.writeString(channel.getStyle().getRankColor(client));

			for (Pair<String, Integer> icon : client.getIcons()) {
				buffer.writeByte(0x00);
				buffer.writeString(icon.getLeft());
				buffer.writeByte(0x00);
				buffer.writeString(String.valueOf(icon.getRight()));
			}

			buffer.writeByte(0x00);
			buffer.writeString("-");
		}

		return buffer.toString();
	}