summaryrefslogtreecommitdiff
path: root/src/net/eathena/chathandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/chathandler.cpp')
-rw-r--r--src/net/eathena/chathandler.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/net/eathena/chathandler.cpp b/src/net/eathena/chathandler.cpp
index dd4618482..0a5029b6e 100644
--- a/src/net/eathena/chathandler.cpp
+++ b/src/net/eathena/chathandler.cpp
@@ -37,6 +37,7 @@
#include "resources/chatobject.h"
+#include "utils/gettext.h"
#include "utils/stringutils.h"
#include <string>
@@ -503,6 +504,21 @@ void ChatHandler::processWhisperResponse(Net::MessageIn &msg)
const uint8_t type = msg.readUInt8("response");
msg.readInt32("unknown");
+ if (type == 1 && chatWindow)
+ {
+ const std::string nick = getLastWhisperNick();
+ if (nick.size() > 1 && nick[0] == '#')
+ {
+ chatWindow->channelChatLog(nick,
+ // TRANSLATORS: chat message
+ strprintf(_("Message could not be sent, channel "
+ "%s is not exists."), nick.c_str()),
+ ChatMsgType::BY_SERVER, false, false);
+ if (!mSentWhispers.empty())
+ mSentWhispers.pop();
+ return;
+ }
+ }
processWhisperResponseContinue(type);
}