Improve null checks in ChatListener and pass ProxiedPlayer object to Channel.sendMessage rather than the event.