added some to-be-implemented functionality urls

This commit is contained in:
rexy712 2019-03-30 08:34:33 -07:00
parent 555a6d6e57
commit 5e1408be50
3 changed files with 45 additions and 1 deletions

View File

@ -20,6 +20,7 @@ matrix:
list room members
delete messages
change password
ability to select specification revision
reddit:
handle imgur albums

View File

@ -42,6 +42,7 @@ namespace matrix{
}
};
//upload info structs
struct file_info{
raii::rjp_string fileurl;
raii::string filename;
@ -60,6 +61,7 @@ namespace matrix{
struct video_info : public image_info{};
struct audio_info : public file_info{};
//message handling structs
//enumerate message type but also give a string representation
class msgtype{
private:
@ -133,6 +135,7 @@ namespace matrix{
const int age;
};
//main class
class bot
{
private:
@ -171,6 +174,17 @@ namespace matrix{
raii::string sync(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& next_batch, const raii::string_base& timeout)const;
raii::string read_receipt(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventid)const;
raii::string send(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string redact(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventid)const;
raii::string power_level(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string presence(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& userid)const;
raii::string typing(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& userid)const;
raii::string kick(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string ban(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string unban(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string invite(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string room_members(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const;
raii::string password(const raii::string_base& homeserver, const raii::string_base& access_token)const;
void repopulate_accesstoken(const raii::string_base& homeserver, const raii::string_base& access_token);
void repopulate_userid(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& userid);

View File

@ -745,7 +745,36 @@ namespace matrix{
}
raii::string bot::mat_url_list::send(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/send/m.room.message?access_token=" + access_token);
}
raii::string bot::mat_url_list::redact(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/redact/" + eventid + "?access_token=" + access_token);
}
raii::string bot::mat_url_list::power_level(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/state/m.room.power_levels?access_token=" + access_token);
}
raii::string bot::mat_url_list::presence(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& userid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/presence/" + userid + "/status?access_token=" + access_token);
}
raii::string bot::mat_url_list::typing(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& userid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/typing/" + userid + "?access_token=" + access_token);
}
raii::string bot::mat_url_list::kick(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/kick?access_token=" + access_token);
}
raii::string bot::mat_url_list::ban(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/ban?access_token=" + access_token);
}
raii::string bot::mat_url_list::unban(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/unban?access_token=" + access_token);
}
raii::string bot::mat_url_list::invite(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/invite?access_token=" + access_token);
}
raii::string bot::mat_url_list::room_members(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/members?access_token=" + access_token);
}
raii::string bot::mat_url_list::password(const raii::string_base& homeserver, const raii::string_base& access_token)const{
return raii::string(s_proto + homeserver + "/_matrix/client/r0/account/password?access_token=" + access_token);
}
void bot::mat_url_list::_initial_populate(const raii::string_base& homeserver){
m_alias_lookup = s_proto + homeserver + "/_matrix/client/r0/directory/room/";