From afed7f04256c6f26780e7347fbc618993e4e2e33 Mon Sep 17 00:00:00 2001 From: ariel- Date: Mon, 5 Feb 2018 13:45:52 -0300 Subject: [PATCH] Core/Channel: properly notify client about invalid channel names Closes #16190 --- src/server/game/Chat/Channels/ChannelMgr.cpp | 3 ++- src/server/game/Handlers/ChannelHandler.cpp | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/server/game/Chat/Channels/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp index dbb3a32b048..3deb2ee7221 100644 --- a/src/server/game/Chat/Channels/ChannelMgr.cpp +++ b/src/server/game/Chat/Channels/ChannelMgr.cpp @@ -16,8 +16,9 @@ * with this program. If not, see . */ -#include "Channel.h" #include "ChannelMgr.h" +#include "Channel.h" +#include "DBCStores.h" #include "Player.h" #include "World.h" #include "WorldSession.h" diff --git a/src/server/game/Handlers/ChannelHandler.cpp b/src/server/game/Handlers/ChannelHandler.cpp index ab056bddb5b..8546d6099f6 100644 --- a/src/server/game/Handlers/ChannelHandler.cpp +++ b/src/server/game/Handlers/ChannelHandler.cpp @@ -54,11 +54,13 @@ void WorldSession::HandleJoinChannel(WorldPacket& recvPacket) return; } - if (channelName.empty()) - return; - - if (isdigit(channelName[0])) + if (channelName.empty() || isdigit(channelName[0])) + { + WorldPacket data(SMSG_CHANNEL_NOTIFY, 1 + channelName.size()); + data << uint8(CHAT_INVALID_NAME_NOTICE) << channelName; + SendPacket(&data); return; + } if (ChannelMgr* cMgr = ChannelMgr::forTeam(GetPlayer()->GetTeam())) if (Channel* channel = cMgr->GetJoinChannel(channelId, channelName, zone))