api: add joinroom(room_id)

This commit is contained in:
saces 2026-04-14 23:07:15 +02:00
parent 7a966c8d2a
commit 0765118805
5 changed files with 28 additions and 0 deletions

View file

@ -368,6 +368,24 @@ func apiv0_leaveroom(cid C.int, roomid *C.char) *C.char {
return C.CString("SUCCESS.")
}
//export apiv0_joinroom
func apiv0_joinroom(cid C.int, roomid *C.char) *C.char {
cli, err := getClient(int(cid))
if err != nil {
return C.CString(fmt.Sprintf("ERR: %v", err))
}
resp, err := cli.JoinRoomByID(context.Background(), id.RoomID(C.GoString(roomid)))
if err != nil {
return C.CString(fmt.Sprintf("ERR: %v", err))
}
out, err := json.Marshal(resp)
if err != nil {
return C.CString(fmt.Sprintf("ERR: %v", err))
}
s := string(out)
return C.CString(s)
}
//export apiv0_joinedrooms
func apiv0_joinedrooms(cid C.int) *C.char {
cli, err := getClient(int(cid))

View file

@ -62,6 +62,7 @@ ffibuilder.cdef(
extern char* apiv0_sendmessage(int cid, char* data);
extern char* apiv0_leaveroom(int cid, char* roomid);
extern char* apiv0_joinedrooms(int cid);
extern char* apiv0_joinroom(int cid, char* roomid);
extern char* apiv0_createroom(int cid, char* data);
extern char* apiv0_createdm(int cid, char* uid);
extern char* apiv0_genericrequest(int cid, char* method, char* path, char* data);

View file

@ -11,6 +11,7 @@ apiv0_getoptions
apiv0_getuserdm
apiv0_initialize
apiv0_joinedrooms
apiv0_joinroom
apiv0_leaveroom
apiv0_listclients
apiv0_login

View file

@ -65,6 +65,10 @@ class ApiV0Api:
def getuserdm(cid, userid):
return _stringresult(lib.apiv0_getuserdm(cid, _autostring(userid)))
@staticmethod
def joinroom(cid, roomid):
return _stringresult(lib.apiv0_joinroom(cid, _autostring(roomid)))
class ApiV0:
"""ApiV0"""

View file

@ -88,6 +88,10 @@ class _AsyncClient:
r = ApiV0Api.joinedrooms(self.client_id)
return CheckApiResult(r)
async def joinroom(self, roomid):
r = ApiV0Api.joinroom(self.client_id)
return CheckApiResult(r)
async def createroom(self, data_dict):
r = ApiV0Api.createroom(self.client_id, data_dict)
return CheckApiResult(r)