add sending typing notifs
This commit is contained in:
parent
0d18f93410
commit
b99305ca82
2 changed files with 14 additions and 0 deletions
|
@ -84,6 +84,7 @@ public:
|
||||||
std::string getRoomAvatar(std::string roomId);
|
std::string getRoomAvatar(std::string roomId);
|
||||||
std::string getCanonicalAlias(std::string roomId);
|
std::string getCanonicalAlias(std::string roomId);
|
||||||
void sendReadReceipt(std::string roomId, std::string eventId);
|
void sendReadReceipt(std::string roomId, std::string eventId);
|
||||||
|
void setTyping(std::string roomId, bool typing, u32 timeout = 30000);
|
||||||
std::string sendEmote(std::string roomId, std::string text);
|
std::string sendEmote(std::string roomId, std::string text);
|
||||||
std::string sendNotice(std::string roomId, std::string text);
|
std::string sendNotice(std::string roomId, std::string text);
|
||||||
std::string sendText(std::string roomId, std::string text);
|
std::string sendText(std::string roomId, std::string text);
|
||||||
|
|
|
@ -281,6 +281,7 @@ std::string Client::getCanonicalAlias(std::string roomId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::sendReadReceipt(std::string roomId, std::string eventId) {
|
void Client::sendReadReceipt(std::string roomId, std::string eventId) {
|
||||||
|
roomId = resolveRoom(roomId);
|
||||||
std::string path = "/_matrix/client/r0/rooms/" + urlencode(roomId) + "/receipt/m.read/" + urlencode(eventId);
|
std::string path = "/_matrix/client/r0/rooms/" + urlencode(roomId) + "/receipt/m.read/" + urlencode(eventId);
|
||||||
json_t* ret = doRequest("POST", path);
|
json_t* ret = doRequest("POST", path);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
@ -288,6 +289,18 @@ void Client::sendReadReceipt(std::string roomId, std::string eventId) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::setTyping(std::string roomId, bool typing, u32 timeout) {
|
||||||
|
roomId = resolveRoom(roomId);
|
||||||
|
std::string userId = getUserId();
|
||||||
|
std::string path = "/_matrix/client/r0/rooms/" + urlencode(roomId) + "/typing/" + urlencode(userId);
|
||||||
|
json_t* request = json_object();
|
||||||
|
json_object_set_new(request, "typing", json_boolean(typing));
|
||||||
|
json_object_set_new(request, "timeout", json_integer(timeout));
|
||||||
|
json_t* ret = doRequest("PUT", path, request);
|
||||||
|
json_decref(request);
|
||||||
|
json_decref(ret);
|
||||||
|
}
|
||||||
|
|
||||||
std::string Client::sendEmote(std::string roomId, std::string text) {
|
std::string Client::sendEmote(std::string roomId, std::string text) {
|
||||||
json_t* request = json_object();
|
json_t* request = json_object();
|
||||||
json_object_set_new(request, "msgtype", json_string("m.emote"));
|
json_object_set_new(request, "msgtype", json_string("m.emote"));
|
||||||
|
|
Loading…
Reference in a new issue