public void joinChannel(Player p, String channelName) {
		// Sanity-Check..
		if (!ChannelsConfig.getChannels().contains("channels." + channelName)) {
			Messenger.tell(p, Msg.CUSTOM_CHANNELS_NULL);
			return;
		}
		
		// Make sure channel is joinable, or if a player has a bypass permission.
		if (isJoinable(channelName) || p.hasPermission("playerchat.join.bypass")) {
			
			// If the channel specified doesn't contain the player, then add them.
			if (customChannel.containsKey(p.getName())) {
				Messenger.tell(p, Msg.MISC_ALREADY_IN_CHANNEL);
			} else {
				customChannel.put(p.getName(), channelName);
				Messenger.tell(p, Msg.CUSTOM_CHANNELS_ENTERED);
				for (Player player : Bukkit.getOnlinePlayers()) {
					if (customChannel.get(player.getName()).equalsIgnoreCase(customChannel.get(p.getName()))) {
						// Notify everyone else in the channel.
						Messenger.tell(player, Msg.CUSTOM_CHANNELS_PLAYER_JOINED, p.getName());
					}
				}
			}
		} else {
			Messenger.tell(p, Msg.CUSTOM_CHANNELS_JOIN_DISABLED);
		}
	}