M src/bridge/bridge.cpp => src/bridge/bridge.cpp +2 -2
@@ 188,7 188,7 @@ void Bridge::send_message(const Iid& iid, const std::string& nick, const std::st
this->make_xmpp_body(body), this->user_jid);
else
this->xmpp->send_message(iid.chan + "%" + iid.server,
- this->make_xmpp_body(body), this->user_jid);
+ this->make_xmpp_body(body), this->user_jid, "chat");
}
void Bridge::send_muc_leave(Iid&& iid, std::string&& nick, const std::string& message, const bool self)
@@ 220,7 220,7 @@ void Bridge::send_xmpp_message(const std::string& from, const std::string& autho
body = std::string("[") + author + std::string("] ") + msg;
else
body = msg;
- this->xmpp->send_message(from, this->make_xmpp_body(body), this->user_jid);
+ this->xmpp->send_message(from, this->make_xmpp_body(body), this->user_jid, "chat");
}
void Bridge::send_user_join(const std::string& hostname,
M src/xmpp/xmpp_component.cpp => src/xmpp/xmpp_component.cpp +3 -1
@@ 457,11 457,13 @@ void* XmppComponent::get_receive_buffer(const size_t size) const
return this->parser.get_buffer(size);
}
-void XmppComponent::send_message(const std::string& from, Xmpp::body&& body, const std::string& to)
+void XmppComponent::send_message(const std::string& from, Xmpp::body&& body, const std::string& to, const std::string& type)
{
XmlNode node("message");
node["to"] = to;
node["from"] = from + "@" + this->served_hostname;
+ if (!type.empty())
+ node["type"] = type;
XmlNode body_node("body");
body_node.set_inner(std::get<0>(body));
body_node.close();
M src/xmpp/xmpp_component.hpp => src/xmpp/xmpp_component.hpp +2 -1
@@ 81,7 81,8 @@ public:
/**
* Send a message from from@served_hostname, with the given body
*/
- void send_message(const std::string& from, Xmpp::body&& body, const std::string& to);
+ void send_message(const std::string& from, Xmpp::body&& body,
+ const std::string& to, const std::string& type);
/**
* Send a join from a new participant
*/