diff --git a/src/protocol/SendInstantMessage.cpp b/src/protocol/SendInstantMessage.cpp index 2df2902..9475a94 100644 --- a/src/protocol/SendInstantMessage.cpp +++ b/src/protocol/SendInstantMessage.cpp @@ -24,5 +24,9 @@ SendInstantMessage::SendInstantMessage( throw ChatResultException(ChatResultCode::DESTAVATARDOESNTEXIST); } + if (destAvatar->IsIgnored(srcAvatar)) { + throw ChatResultException(ChatResultCode::IGNORING); + } + client->SendInstantMessageUpdate(srcAvatar, destAvatar, request.message, request.oob); } diff --git a/src/protocol/SendPersistentMessage.cpp b/src/protocol/SendPersistentMessage.cpp index 2856848..2b437c6 100644 --- a/src/protocol/SendPersistentMessage.cpp +++ b/src/protocol/SendPersistentMessage.cpp @@ -26,6 +26,10 @@ SendPersistentMessage::SendPersistentMessage(GatewayClient * client, const Reque throw ChatResultException{ChatResultCode::SRCAVATARDOESNTEXIST}; } + if (destAvatar->IsIgnored(srcAvatar)) { + throw ChatResultException(ChatResultCode::IGNORING); + } + message.header.fromName = srcAvatar->GetName(); message.header.fromAddress = srcAvatar->GetAddress(); } else {