Add functionality to get other users' displaynames
This commit is contained in:
@@ -73,6 +73,7 @@ namespace matrix{
|
||||
* Returns: the display name on success, an empty string on failure.
|
||||
*/
|
||||
netreturn<raii::rjp_string> get_display_name(void)const;
|
||||
netreturn<raii::rjp_string> get_display_name(const raii::string_base&)const;
|
||||
/*
|
||||
* Gets the profile picture url of the logged in user from the homeserver.
|
||||
* Returns: the profile picture url on success, an empty string on failure.
|
||||
|
||||
@@ -31,7 +31,6 @@ namespace matrix::rest{
|
||||
raii::string m_file_upload;
|
||||
raii::string m_room_list;
|
||||
raii::string m_alias_lookup;
|
||||
raii::string m_displayname;
|
||||
raii::string m_profile_picture;
|
||||
|
||||
public:
|
||||
@@ -46,8 +45,8 @@ namespace matrix::rest{
|
||||
const raii::string& file_upload(void)const;
|
||||
const raii::string& room_list(void)const;
|
||||
const raii::string& alias_lookup(void)const;
|
||||
const raii::string& displayname(void)const;
|
||||
const raii::string& profile_picture(void)const;
|
||||
raii::string displayname(const session_info& session, const raii::string_base& userid)const;
|
||||
raii::string file_download(const session_info& session, const raii::string_base& mediaid);
|
||||
raii::string file_thumbnail(const session_info& session, const raii::string_base& fileurl, int width, int height, const raii::string_base& method)const;
|
||||
raii::string presence(const session_info& session, const raii::string_base& userid)const;
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace matrix{
|
||||
|
||||
//networked setter
|
||||
netreturn<void> client::set_display_name(const raii::string_base& newname){
|
||||
_put_curl(json::_displayname_set(newname), m_urls->displayname(), raii::curl_llist());
|
||||
_put_curl(json::_displayname_set(newname), m_urls->displayname(*m_ses, m_ses->userid), raii::curl_llist());
|
||||
return netreturn<void>(raii::string(), raii::string(), http_status());
|
||||
}
|
||||
netreturn<void> client::set_profile_picture(const raii::string_base& media_url){
|
||||
@@ -50,7 +50,10 @@ namespace matrix{
|
||||
|
||||
//networked getter
|
||||
netreturn<raii::rjp_string> client::get_display_name(void)const{
|
||||
return _get_and_find(m_urls->displayname(), json::keys::displayname());
|
||||
return _get_and_find(m_urls->displayname(*m_ses, m_ses->userid), json::keys::displayname());
|
||||
}
|
||||
netreturn<raii::rjp_string> client::get_display_name(const raii::string_base& userid)const{
|
||||
return _get_and_find(m_urls->displayname(*m_ses, userid), json::keys::displayname());
|
||||
}
|
||||
netreturn<raii::rjp_string> client::get_profile_picture(void)const{
|
||||
return _get_and_find(m_urls->profile_picture(), json::keys::avatarurl());
|
||||
|
||||
@@ -37,12 +37,12 @@ namespace matrix::rest{
|
||||
const raii::string& client_url_list::alias_lookup(void)const{
|
||||
return m_alias_lookup;
|
||||
}
|
||||
const raii::string& client_url_list::displayname(void)const{
|
||||
return m_displayname;
|
||||
}
|
||||
const raii::string& client_url_list::profile_picture(void)const{
|
||||
return m_profile_picture;
|
||||
}
|
||||
raii::string client_url_list::displayname(const session_info& session, const raii::string_base& userid)const{
|
||||
return raii::string(matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/profile/" + userid + "/displayname?access_token=" + session.access_token);
|
||||
}
|
||||
raii::string client_url_list::file_download(const session_info& session, const raii::string_base& fileurl){
|
||||
raii::string media = get_server_media_string(fileurl);
|
||||
if(!media) return {};
|
||||
@@ -66,7 +66,6 @@ namespace matrix::rest{
|
||||
m_create_room = matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/createRoom?access_token=" + session.access_token;
|
||||
m_file_upload = matrix::rest::proto() + session.homeserver + "/_matrix/media/r0/upload?access_token=" + session.access_token;
|
||||
m_room_list = matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/joined_rooms?access_token=" + session.access_token;
|
||||
m_displayname = matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/profile/" + session.userid + "/displayname?access_token=" + session.access_token;
|
||||
m_profile_picture = matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/profile/" + session.userid + "/avatar_url?access_token=" + session.access_token;
|
||||
m_alias_lookup = matrix::rest::proto() + session.homeserver + "/_matrix/client/r0/directory/room/";
|
||||
}
|
||||
@@ -74,7 +73,6 @@ namespace matrix::rest{
|
||||
m_create_room.reset();
|
||||
m_file_upload.reset();
|
||||
m_room_list.reset();
|
||||
m_displayname.reset();
|
||||
m_profile_picture.reset();
|
||||
m_alias_lookup.reset();
|
||||
}
|
||||
|
||||
@@ -99,8 +99,11 @@ int main(){
|
||||
if(event.type() == matrix::json::events::room::message()){
|
||||
auto message = matrix::event_cast<matrix::sync::room_message_event>(std::move(event));
|
||||
if(message.msgtype() == matrix::json::events::msgtype::text())
|
||||
r.send_message(raii::string("\"" + message.body() + "\" what a nigger thing to say"_ss));
|
||||
r.send_message(raii::string("\"" + message.body() + "\" what a faggot thing to say"_ss));
|
||||
printf("message body: %s\n", message.body().get());
|
||||
}else if(event.type() == matrix::json::events::room::sticker()){
|
||||
auto displayname = client.get_display_name(event.sender());
|
||||
r.send_message(raii::string("only jews send stickers, "_ss + displayname.value()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user