private void handleAlias(Player player, String alias, String message) {
		ChatPlayer cp = PlayerManager.getPlayer(player.getName(), plugin.name);
		if (cp.modes.contains(ChatPlayer.Mode.LOCKED)) {
			PluginUtil.send(cp.name, "You have been locked in your channel and may not change channels.");
			return;
		}

		String channel = aliases.get(alias);
		String read_perm = ChannelManager.getChannel(channel).read_permission;
		if (!read_perm.equals("") && !MCNSAChat3.permissions.has(player, "mcnsachat3.read." + read_perm)) {
			plugin.getLogger().info(player.getName() + " attempted to read channel " + channel + " without permission!");
			PluginUtil.send(player.getName(), "&cYou don't have permission to do that!");
			return;
		}

		if (!message.trim().equals("")) {
			// send a message rather than changing
			String write_perm = ChannelManager.getChannel(channel).write_permission;
			if (!write_perm.equals("") && !MCNSAChat3.permissions.has(player, "mcnsachat3.write." + write_perm)) {
				plugin.getLogger().info(player.getName() + " attempted to write to channel " + channel + " without permission!");
				PluginUtil.send(player.getName(), "&cYou don't have permission to do that!");
				return;
			}
			if (cp.modes.contains(ChatPlayer.Mode.MUTE) || ChannelManager.getChannel(channel).modes.contains(ChatChannel.Mode.MUTE)) {
				PluginUtil.send(cp.name, "You are not allowed to speak right now.");
				return;
			}
			plugin.chat.chat(cp, message, channel);
			if (MCNSAChat3.thread != null)
				MCNSAChat3.thread.write(new PlayerChatPacket(cp, message, channel, PlayerChatPacket.Type.CHAT));
			return;
		}

		cp.changeChannels(channel.toLowerCase());
	}