Chat SDK for Unity and Windows v1.2.0
Public 成员函数 | 所有成员列表
AgoraChat.RoomManager类 参考
类 AgoraChat.RoomManager 继承关系图:

Public 成员函数

void AddRoomAdmin (string roomId, string memberId, CallBack callback=null)
 
void BlockRoomMembers (string roomId, List< string > members, CallBack callback=null)
 
void ChangeRoomOwner (string roomId, string newOwner, CallBack callback=null)
 
void ChangeRoomDescription (string roomId, string newDescription, CallBack callback=null)
 
void ChangeRoomName (string roomId, string newName, CallBack callback=null)
 
void CreateRoom (string name, string descriptions=null, string welcomeMsg=null, int maxUserCount=300, List< string > members=null, ValueCallBack< Room > callback=null)
 
void DestroyRoom (string roomId, CallBack callback=null)
 
void FetchPublicRoomsFromServer (int pageNum=1, int pageSize=200, ValueCallBack< PageResult< Room > > callback=null)
 
void FetchRoomAnnouncement (string roomId, ValueCallBack< string > callback=null)
 
void FetchRoomBlockList (string roomId, int pageNum=1, int pageSize=200, ValueCallBack< List< string > > callback=null)
 
void FetchRoomInfoFromServer (string roomId, ValueCallBack< Room > callback=null)
 
void FetchRoomMembers (string roomId, string cursor="", int pageSize=200, ValueCallBack< CursorResult< string > > callback=null)
 
void FetchRoomMuteList (string roomId, int pageSize=200, int pageNum=1, ValueCallBack< Dictionary< string, long > > callback=null)
 
void JoinRoom (string roomId, ValueCallBack< Room > callback=null)
 
void LeaveRoom (string roomId, CallBack callback=null)
 
void MuteRoomMembers (string roomId, List< string > members, long muteMilliseconds=-1, CallBack callback=null)
 
void RemoveRoomAdmin (string roomId, string adminId, CallBack callback=null)
 
void DeleteRoomMembers (string roomId, List< string > members, CallBack callback=null)
 
void UnBlockRoomMembers (string roomId, List< string > members, CallBack callback=null)
 
void UnMuteRoomMembers (string roomId, List< string > members, CallBack callback=null)
 
void UpdateRoomAnnouncement (string roomId, string announcement, CallBack callback=null)
 
void MuteAllRoomMembers (string roomId, ValueCallBack< Room > callback=null)
 
void UnMuteAllRoomMembers (string roomId, ValueCallBack< Room > callback=null)
 
void AddAllowListMembers (string roomId, List< string > members, CallBack callback=null)
 
void RemoveAllowListMembers (string roomId, List< string > members, CallBack callback=null)
 
void FetchAllowListFromServer (string roomId, ValueCallBack< List< string > > callback=null)
 
void CheckIfInRoomAllowList (string roomId, ValueCallBack< bool > callback=null)
 
Room GetChatRoom (string roomId)
 
void AddAttributes (string roomId, Dictionary< string, string > kv, bool deleteWhenExit=true, bool forced=false, ValueCallBack< Dictionary< string, int > > callback=null)
 
void FetchAttributes (string roomId, List< string > keys=null, ValueCallBack< Dictionary< string, string > > callback=null)
 
void RemoveAttributes (string roomId, List< string > keys, bool forced=false, ValueCallBack< Dictionary< string, int > > callback=null)
 
void AddRoomManagerDelegate (IRoomManagerDelegate roomManagerDelegate)
 
void RemoveRoomManagerDelegate (IRoomManagerDelegate roomManagerDelegate)
 

详细描述

聊天管理器抽象类。

成员函数说明

◆ AddRoomAdmin()

void AgoraChat.RoomManager.AddRoomAdmin ( string  roomId,
string  memberId,
CallBack  callback = null 
)

添加聊天室管理员。

仅聊天室所有者可调用此方法。

异步方法。

参数
chatRoomId聊天室 ID。
memberId要添加的管理员的 ID。
callback操作结果回调,详见 CallBack

◆ BlockRoomMembers()

void AgoraChat.RoomManager.BlockRoomMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

将成员添加到聊天室黑名单。

仅聊天室所有者和管理员可调用此方法。

注意

异步方法。

参数
roomId聊天室 ID。
members要加入黑名单的成员列表。
callback操作结果回调,详见 CallBack

◆ ChangeRoomOwner()

void AgoraChat.RoomManager.ChangeRoomOwner ( string  roomId,
string  newOwner,
CallBack  callback = null 
)

转让聊天室的所有权。

仅聊天室所有者可调用此方法。

异步方法。

参数
roomId聊天室 ID。
newOwner新的聊天室所有者 ID。
callback操作结果回调,详见 CallBack

◆ ChangeRoomDescription()

void AgoraChat.RoomManager.ChangeRoomDescription ( string  roomId,
string  newDescription,
CallBack  callback = null 
)

修改聊天室描述信息。

仅聊天室所有者可调用此方法。

异步方法。

参数
roomId聊天室 ID。
newDescription新的聊天室描述。
callback操作结果回调,详见 CallBack

◆ ChangeRoomName()

void AgoraChat.RoomManager.ChangeRoomName ( string  roomId,
string  newName,
CallBack  callback = null 
)

修改聊天室名称。

仅聊天室所有者可调用此方法。

异步方法。

参数
roomId聊天室 ID。
newName聊天室新名称。
callback操作结果回调,详见 CallBack

◆ CreateRoom()

void AgoraChat.RoomManager.CreateRoom ( string  name,
string  descriptions = null,
string  welcomeMsg = null,
int  maxUserCount = 300,
List< string >  members = null,
ValueCallBack< Room callback = null 
)

创建聊天室。

异步方法。

参数
name聊天室名称。
description聊天室描述。
welcomeMsg邀请成员加入聊天室的消息。
maxUserCount允许加入聊天室的最大成员数。
members邀请加入聊天室的成员列表。
callback操作结果回调,详见 CallBack

◆ DestroyRoom()

void AgoraChat.RoomManager.DestroyRoom ( string  roomId,
CallBack  callback = null 
)

销毁聊天室。

仅聊天室所有者可调用此方法。

异步方法。

参数
roomId聊天室 ID。
callback操作结果回调,详见 CallBack

◆ FetchPublicRoomsFromServer()

void AgoraChat.RoomManager.FetchPublicRoomsFromServer ( int  pageNum = 1,
int  pageSize = 200,
ValueCallBack< PageResult< Room > >  callback = null 
)

以分页方式从服务器获取聊天室。

对于数据量未知且很大的情况,你可以设置 pageNumpageSize 分页获取数据。

异步方法。

参数
pageNum当前页数,从 1 开始。
pageSize每页期望返回的记录数。如当前在最后一页,返回的数量小于该参数的值。
callback操作结果回调,详见 CallBack

◆ FetchRoomAnnouncement()

void AgoraChat.RoomManager.FetchRoomAnnouncement ( string  roomId,
ValueCallBack< string >  callback = null 
)

从服务器获取聊天室公告内容。

异步方法。

参数
roomId聊天室 ID。
callback操作结果回调,详见 CallBack

◆ FetchRoomBlockList()

void AgoraChat.RoomManager.FetchRoomBlockList ( string  roomId,
int  pageNum = 1,
int  pageSize = 200,
ValueCallBack< List< string > >  callback = null 
)

以分页的形式获取聊天室黑名单列表。

对于数据量未知且很大的情况,你可以设置 pageSizecursor 分页获取数据。

仅聊天室所有者或管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页期望返回的黑名单上的用户数。如果当前在最后一页,返回的数量小于该参数的值。
callback操作结果回调,详见 CallBack

◆ FetchRoomInfoFromServer()

void AgoraChat.RoomManager.FetchRoomInfoFromServer ( string  roomId,
ValueCallBack< Room callback = null 
)

从服务器获取聊天室详情,默认不取成员列表。

异步方法。

参数
roomId聊天室 ID。
callback操作结果回调,返回聊天室信息或错误描述,详见 ValueCallBack

◆ FetchRoomMembers()

void AgoraChat.RoomManager.FetchRoomMembers ( string  roomId,
string  cursor = "",
int  pageSize = 200,
ValueCallBack< CursorResult< string > >  callback = null 
)

以分页方式获取聊天室成员列表。

对于数据量未知且很大的情况,你可以设置 pageSizecursor 分页获取数据。

异步方法。

参数
roomId聊天室 ID。
cursor从该游标位置开始取数据。首次调用 cursor 传空值,SDK 按照用户加入聊天室时间的倒序获取数据,即从最新数据开始获取。服务器返回的数据中包含 cursor 字段,该字段保存在本地,下次调用接口时,可以将更新的 cursor 传入作为开始获取数据的位置。
pageSize每页期望返回的成员数。如果当前为最后一页,返回的数据量小于该参数的值;
callback操作结果回调,成功则返回聊天室成员列表,失败则返回错误描述,详见 ValueCallBack

◆ FetchRoomMuteList()

void AgoraChat.RoomManager.FetchRoomMuteList ( string  roomId,
int  pageSize = 200,
int  pageNum = 1,
ValueCallBack< Dictionary< string, long > >  callback = null 
)

以分页方式获取聊天室禁言列表。

对于数据量未知且很大的情况,你可以设置 pageSizecursor 分页获取数据。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页返回的禁言成员数。如果当前为最后一页,返回的数量小于该参数的值。
callback操作结果回调,成功则返回聊天室禁言列表,失败返回错误描述,详见 ValueCallBack

◆ JoinRoom()

void AgoraChat.RoomManager.JoinRoom ( string  roomId,
ValueCallBack< Room callback = null 
)

加入聊天室。

退出聊天室调用 LeaveRoom(String, CallBack)

异步方法。

参数
roomId聊天室 ID。
callback操作结果回调,成功则返回加入的聊天室对象,失败则返回错误信息,详见 ValueCallBack

◆ LeaveRoom()

void AgoraChat.RoomManager.LeaveRoom ( string  roomId,
CallBack  callback = null 
)

离开聊天室。

利用 JoinRoom(String, ValueCallBack) 加入聊天室后,离开时调用此方法。

异步方法。

参数
roomId聊天室 ID。
callback操作结果回调,详见 CallBack

◆ MuteRoomMembers()

void AgoraChat.RoomManager.MuteRoomMembers ( string  roomId,
List< string >  members,
long  muteMilliseconds = -1,
CallBack  callback = null 
)

禁止聊天室成员发言。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
members要禁言的用户列表。
muteMilliseconds禁言时长, -1 为永久禁言。
callback操作结果回调,详见 CallBack

◆ RemoveRoomAdmin()

void AgoraChat.RoomManager.RemoveRoomAdmin ( string  roomId,
string  adminId,
CallBack  callback = null 
)

移除聊天室管理员权限。

仅聊天室所有者可调用此方法。

异步方法。

参数
roomId聊天室 ID。
adminId要移除管理员权限的 ID。
callback操作结果回调,详见 CallBack

◆ DeleteRoomMembers()

void AgoraChat.RoomManager.DeleteRoomMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

将成员移出聊天室。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
members要移出聊天室的用户列表。
callback操作结果回调,详见 CallBack

◆ UnBlockRoomMembers()

void AgoraChat.RoomManager.UnBlockRoomMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

从聊天室黑名单中移除成员。

仅聊天室所有者或管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
members要移除黑名单的成员列表。
callback操作结果回调,详见 CallBack

◆ UnMuteRoomMembers()

void AgoraChat.RoomManager.UnMuteRoomMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

解除禁言。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
members要解除禁言的用户列表。
callback操作结果回调,详见 CallBack

◆ UpdateRoomAnnouncement()

void AgoraChat.RoomManager.UpdateRoomAnnouncement ( string  roomId,
string  announcement,
CallBack  callback = null 
)

更新聊天室公告。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
announcement公告内容。
callback操作结果回调,详见 CallBack

◆ MuteAllRoomMembers()

void AgoraChat.RoomManager.MuteAllRoomMembers ( string  roomId,
ValueCallBack< Room callback = null 
)

设置全员禁言。

仅聊天室所有者和管理员可调用此方法。

聊天室拥有者、管理员及加入白名单的用户不受影响。

异步方法。

参数
roomId聊天室 ID。
callback结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ UnMuteAllRoomMembers()

void AgoraChat.RoomManager.UnMuteAllRoomMembers ( string  roomId,
ValueCallBack< Room callback = null 
)

解除所有成员的禁言状态。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
callback结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ AddAllowListMembers()

void AgoraChat.RoomManager.AddAllowListMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

将成员添加到白名单。

仅聊天室所有者或管理员可调用此方法。

聊天室所有者或者管理员执行 MuteAllMembers 时,加入白名单的成员不受影响。

异步方法。

参数
roomId聊天室 ID。
members加入白名单的成员列表。
callback结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ RemoveAllowListMembers()

void AgoraChat.RoomManager.RemoveAllowListMembers ( string  roomId,
List< string >  members,
CallBack  callback = null 
)

将成员从白名单移除。

仅聊天室所有者和管理员可调用此方法。

成员从白名单移除后,将受到 MuteAllMembers 功能的影响。

异步方法。

参数
roomId聊天室 ID。
members移除白名单的用户列表。
callback结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ FetchAllowListFromServer()

void AgoraChat.RoomManager.FetchAllowListFromServer ( string  roomId,
ValueCallBack< List< string > >  callback = null 
)

从服务器获取白名单列表。

仅聊天室所有者和管理员可调用此方法。

异步方法。

参数
roomId聊天室 ID。
callBack结果回调,成功时回调 ValueCallBack#OnSuccessValue(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ CheckIfInRoomAllowList()

void AgoraChat.RoomManager.CheckIfInRoomAllowList ( string  roomId,
ValueCallBack< bool >  callback = null 
)

检查成员自己是否加入了白名单。

异步方法。

参数
roomId聊天室 ID。
callBack结果回调,成功时回调 ValueCallBack#OnSuccessValue(Object),返回是否在白名单中; 失败时回调 ValueCallBack#onError(int, String)

◆ GetChatRoom()

Room AgoraChat.RoomManager.GetChatRoom ( string  roomId)

从内存中获取聊天室。

参数
roomId聊天室 ID。
返回
返回聊天室对象。如果内存中不存在该聊天室对象,会基于聊天室 ID(roomId)创建一个聊天室对象,并返回。

◆ AddAttributes()

void AgoraChat.RoomManager.AddAttributes ( string  roomId,
Dictionary< string, string >  kv,
bool  deleteWhenExit = true,
bool  forced = false,
ValueCallBack< Dictionary< string, int > >  callback = null 
)

设置聊天室属性。

聊天室成员均可调用此方法。

异步方法。

参数
roomId聊天室 ID。
kv新增的属性,为键值对(key-value)结构。在键值对中,key 为属性名,不超过 128 字符,value 为属性值不超过 4096 字符。 每个聊天室最多可有 100 个属性。每个应用的聊天室属性总大小不能超过 10 GB。Key 支持以下字符集:
  • 26 个小写英文字母 a-z;
  • 26 个大写英文字母 A-Z;
  • 10 个数字 0-9;
  • “_”, “-”, “.”。 ,
deleteWhenExit当前成员退出聊天室时是否自动删除其设置的该聊天室的所有自定义属性。
  • (默认)true:是。

◆ FetchAttributes()

void AgoraChat.RoomManager.FetchAttributes ( string  roomId,
List< string >  keys = null,
ValueCallBack< Dictionary< string, string > >  callback = null 
)

根据聊天室属性 key 列表获取属性列表。 聊天室成员均可调用此方法。

异步方法。

参数
roomId聊天室 ID。
keys待获取属性的键值。如果未指定任何 key 值,则表示获取所有属性。
callback结果回调,成功时回调 ValueCallBack#OnSuccessValue(Dictionary<string, string>), 失败时回调 ValueCallBack#onError(int, String)

◆ RemoveAttributes()

void AgoraChat.RoomManager.RemoveAttributes ( string  roomId,
List< string >  keys,
bool  forced = false,
ValueCallBack< Dictionary< string, int > >  callback = null 
)

根据聊天室 ID 和属性 key 列表删除聊天室自定义属性。

聊天室成员均可调用此方法。

异步方法。

参数
roomId聊天室 ID。
keys待删除属性的键值。 @forced 是否强制删除其他用户所设置的相同 key 的属性。
callback结果回调,成功时回调 CallBackResult#OnSuccessResult(Dictionary<string, int>), 失败时回调 CallBackResult#onError(int, String)

◆ AddRoomManagerDelegate()

void AgoraChat.RoomManager.AddRoomManagerDelegate ( IRoomManagerDelegate  roomManagerDelegate)

注册聊天室监听器。

参数
roomManagerDelegate要注册的聊天室监听器,继承自 IRoomManagerDelegate

◆ RemoveRoomManagerDelegate()

void AgoraChat.RoomManager.RemoveRoomManagerDelegate ( IRoomManagerDelegate  roomManagerDelegate)

移除聊天室监听器。

参数
roomManagerDelegate要移除的聊天室监听器,继承自 IRoomManagerDelegate