IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
TIMCommunityManagerFunction.h 文件参考

类型定义

typedef void(* TIMCommunityCreateTopicCallback) (const char *group_id, const char *topic_id, const void *user_data)
 
typedef void(* TIMCommunityDeleteTopicCallback) (const char *group_id, const char *topic_id_array, const void *user_data)
 
typedef void(* TIMCommunityChangeTopicInfoCallback) (const char *group_id, const char *topic_info, const void *user_data)
 
typedef void(* TIMCommunityReceiveTopicRESTCustomDataCallback) (const char *topic_id, const char *custom_data, const void *user_data)
 
typedef void(* TIMCommunityCreatePermissionGroupCallback) (const char *group_id, const char *permission_group_info, const void *user_data)
 
typedef void(* TIMCommunityDeletePermissionGroupCallback) (const char *group_id, const char *permission_group_id_array, const void *user_data)
 
typedef void(* TIMCommunityChangePermissionGroupInfoCallback) (const char *group_id, const char *permission_group_info, const void *user_data)
 
typedef void(* TIMCommunityAddMembersToPermissionGroupCallback) (const char *group_id, const char *json_result, const void *user_data)
 
typedef void(* TIMCommunityRemoveMembersFromPermissionGroupCallback) (const char *group_id, const char *json_result, const void *user_data)
 
typedef void(* TIMCommunityAddTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)
 
typedef void(* TIMCommunityDeleteTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)
 
typedef void(* TIMCommunityModifyTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)
 

函数

TIM_API void TIMSetCommunityCreateTopicCallback (TIMCommunityCreateTopicCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityDeleteTopicCallback (TIMCommunityDeleteTopicCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityChangeTopicInfoCallback (TIMCommunityChangeTopicInfoCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityReceiveTopicRESTCustomDataCallback (TIMCommunityReceiveTopicRESTCustomDataCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityCreatePermissionGroupCallback (TIMCommunityCreatePermissionGroupCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityDeletePermissionGroupCallback (TIMCommunityDeletePermissionGroupCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityChangePermissionGroupInfoCallback (TIMCommunityChangePermissionGroupInfoCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityAddMembersToPermissionGroupCallback (TIMCommunityAddMembersToPermissionGroupCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityRemoveMembersFromPermissionGroupCallback (TIMCommunityRemoveMembersFromPermissionGroupCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityAddTopicPermissionCallback (TIMCommunityAddTopicPermissionCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityDeleteTopicPermissionCallback (TIMCommunityDeleteTopicPermissionCallback cb, const void *user_data)
 
TIM_API void TIMSetCommunityModifyTopicPermissionCallback (TIMCommunityModifyTopicPermissionCallback cb, const void *user_data)
 
TIM_API int TIMCommunityCreate (const char *json_group_create_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetJoinedCommunityList (TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityCreateTopicInCommunity (const char *group_id, const char *json_topic_info, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityDeleteTopicFromCommunity (const char *group_id, const char *json_topic_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunitySetTopicInfo (const char *json_topic_info, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetTopicInfoList (const char *group_id, const char *json_topic_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunitySetTopicInheritMessageReceiveOptionFromCommunity (const char *topic_id, bool isInherit, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityCreatePermissionGroupInCommunity (const char *json_permission_group_info, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityDeletePermissionGroupFromCommunity (const char *group_id, const char *json_permission_group_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityModifyPermissionGroupInfoInCommunity (const char *json_permission_group_info, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetJoinedPermissionGroupListInCommunity (const char *group_id, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetPermissionGroupListInCommunity (const char *group_id, const char *json_permission_group_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityAddCommunityMembersToPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_member_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityRemoveCommunityMembersFromPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_member_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetCommunityMemberListInPermissionGroup (const char *group_id, const char *permission_group_id, const char *next_cursor, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityAddTopicPermissionToPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_topic_permission_map, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityDeleteTopicPermissionFromPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_topic_id_array, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityModifyTopicPermissionInPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_topic_permission_map, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCommunityGetTopicPermissionInPermissionGroup (const char *group_id, const char *permission_group_id, const char *json_topic_id_array, TIMCommCallback cb, const void *user_data)
 

类型定义说明

◆ TIMCommunityCreateTopicCallback

typedef void(* TIMCommunityCreateTopicCallback) (const char *group_id, const char *topic_id, const void *user_data)

1.1 话题创建的回调

参数
group_id话题所属的社群 ID
topic_id话题 ID
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityDeleteTopicCallback

typedef void(* TIMCommunityDeleteTopicCallback) (const char *group_id, const char *topic_id_array, const void *user_data)

1.2 话题被删除的回调

参数
group_id话题所属的社群 ID
topic_id_array话题列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityChangeTopicInfoCallback

typedef void(* TIMCommunityChangeTopicInfoCallback) (const char *group_id, const char *topic_info, const void *user_data)

1.3 话题更新的回调

参数
group_id话题所属的社群 ID
topic_info话题信息,参见 TIMGroupTopicInfo 类型
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityReceiveTopicRESTCustomDataCallback

typedef void(* TIMCommunityReceiveTopicRESTCustomDataCallback) (const char *topic_id, const char *custom_data, const void *user_data)

1.4 话题自定义系统通知

参数
group_id话题所属的社群 ID
custom_data自定义的通知信息
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityCreatePermissionGroupCallback

typedef void(* TIMCommunityCreatePermissionGroupCallback) (const char *group_id, const char *permission_group_info, const void *user_data)

1.5 权限组创建的回调

参数
group_id权限组所属的社群 ID
permission_group_info权限组信息,Json Key 请参考 PermissionGroupInfo
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityDeletePermissionGroupCallback

typedef void(* TIMCommunityDeletePermissionGroupCallback) (const char *group_id, const char *permission_group_id_array, const void *user_data)

1.6 权限组删除的回调

参数
group_id权限组所属的社群 ID
permission_group_id_array权限组 ID 列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityChangePermissionGroupInfoCallback

typedef void(* TIMCommunityChangePermissionGroupInfoCallback) (const char *group_id, const char *permission_group_info, const void *user_data)

1.7 权限组更新的回调

参数
group_id权限组所属的社群 ID
permission_group_info权限组信息,Json Key 请参考 PermissionGroupInfo
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityAddMembersToPermissionGroupCallback

typedef void(* TIMCommunityAddMembersToPermissionGroupCallback) (const char *group_id, const char *json_result, const void *user_data)

1.8 添加成员到权限组中

参数
group_id权限组所属的社群 ID
json_result权限组 ID 以及 向该权限组中添加的用户 ID 列表,Json Key 请参考 PermissionGroupCallback
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityRemoveMembersFromPermissionGroupCallback

typedef void(* TIMCommunityRemoveMembersFromPermissionGroupCallback) (const char *group_id, const char *json_result, const void *user_data)

1.9 从权限组中删除成员

参数
group_id权限组所属的社群 ID
json_result权限组 ID 以及 从该权限组中删除的用户 ID 列表,Json Key 请参考 PermissionGroupCallback
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityAddTopicPermissionCallback

typedef void(* TIMCommunityAddTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)

1.10 话题权限添加的回调

参数
group_id权限组所属的社群 ID
json_result权限组 ID 以及 向该权限组中添加的话题权限信息,Json Key 请参考 PermissionGroupCallback
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityDeleteTopicPermissionCallback

typedef void(* TIMCommunityDeleteTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)

1.11 话题权限删除的回调

参数
group_id权限组所属的社群 ID
json_result权限组 ID 以及 从该权限组中删除的话题 ID 列表,Json Key 请参考 PermissionGroupCallback
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMCommunityModifyTopicPermissionCallback

typedef void(* TIMCommunityModifyTopicPermissionCallback) (const char *group_id, const char *json_result, const void *user_data)

1.12 话题权限修改的回调

参数
group_id权限组所属的社群 ID
json_result权限组 ID 以及 该权限组内修改的话题权限列表,Json Key 请参考 TopicPermission
user_dataImSDK负责透传的用户自定义数据,未做任何处理

函数说明

◆ TIMSetCommunityCreateTopicCallback()

TIM_API void TIMSetCommunityCreateTopicCallback ( TIMCommunityCreateTopicCallback  cb,
const void *  user_data 
)

2.1 设置话题被创建的回调

参数
cb话题创建回调,请参考 TIMCommunityCreateTopicCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityDeleteTopicCallback()

TIM_API void TIMSetCommunityDeleteTopicCallback ( TIMCommunityDeleteTopicCallback  cb,
const void *  user_data 
)

2.2 设置话题被删除的回调

参数
cb话题被删除回调,请参考 TIMCommunityDeleteTopicCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityChangeTopicInfoCallback()

TIM_API void TIMSetCommunityChangeTopicInfoCallback ( TIMCommunityChangeTopicInfoCallback  cb,
const void *  user_data 
)

2.3 设置话题更新的回调

参数
cb话题更新回调,请参考 TIMCommunityChangeTopicInfoCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityReceiveTopicRESTCustomDataCallback()

TIM_API void TIMSetCommunityReceiveTopicRESTCustomDataCallback ( TIMCommunityReceiveTopicRESTCustomDataCallback  cb,
const void *  user_data 
)

2.4 设置 RESTAPI 下发的话题自定义系统消息的回调

参数
cb回调,请参考 TIMCommunityReceiveTopicRESTCustomDataCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityCreatePermissionGroupCallback()

TIM_API void TIMSetCommunityCreatePermissionGroupCallback ( TIMCommunityCreatePermissionGroupCallback  cb,
const void *  user_data 
)

2.5 设置权限组被创建的回调

参数
cb权限组创建回调,请参考 TIMCommunityCreatePermissionGroupCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityDeletePermissionGroupCallback()

TIM_API void TIMSetCommunityDeletePermissionGroupCallback ( TIMCommunityDeletePermissionGroupCallback  cb,
const void *  user_data 
)

2.6 设置权限组被删除的回调

参数
cb权限组删除回调,请参考 TIMCommunityDeletePermissionGroupCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityChangePermissionGroupInfoCallback()

TIM_API void TIMSetCommunityChangePermissionGroupInfoCallback ( TIMCommunityChangePermissionGroupInfoCallback  cb,
const void *  user_data 
)

2.7 设置权限组更新的回调

参数
cb权限组更新回调,请参考 TIMCommunityChangePermissionGroupInfoCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityAddMembersToPermissionGroupCallback()

TIM_API void TIMSetCommunityAddMembersToPermissionGroupCallback ( TIMCommunityAddMembersToPermissionGroupCallback  cb,
const void *  user_data 
)

2.8 设置向权限组中添加成员的回调

参数
cb添加成员回调,请参考 TIMCommunityAddMembersToPermissionGroupCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityRemoveMembersFromPermissionGroupCallback()

TIM_API void TIMSetCommunityRemoveMembersFromPermissionGroupCallback ( TIMCommunityRemoveMembersFromPermissionGroupCallback  cb,
const void *  user_data 
)

2.9 设置从权限组中删除成员的回调

参数
cb删除成员回调,请参考 TIMCommunityRemoveMembersFromPermissionGroupCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityAddTopicPermissionCallback()

TIM_API void TIMSetCommunityAddTopicPermissionCallback ( TIMCommunityAddTopicPermissionCallback  cb,
const void *  user_data 
)

2.10 设置向权限组中增加话题权限的回调

参数
cb
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityDeleteTopicPermissionCallback()

TIM_API void TIMSetCommunityDeleteTopicPermissionCallback ( TIMCommunityDeleteTopicPermissionCallback  cb,
const void *  user_data 
)

2.11 设置从权限组删除话题权限的回调

参数
cb
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetCommunityModifyTopicPermissionCallback()

TIM_API void TIMSetCommunityModifyTopicPermissionCallback ( TIMCommunityModifyTopicPermissionCallback  cb,
const void *  user_data 
)

2.12 设置权限组中的话题权限修改的回调

参数
cb
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMCommunityCreate()

TIM_API int TIMCommunityCreate ( const char *  json_group_create_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.1 创建支持话题的社群

参数
json_group_create_param创建群组的参数Json字符串, Json Key 请参考 CreateGroupParam
cb创建群组成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 创建社群时可以指定群ID,若未指定时IM通讯云服务器会生成一个唯一的ID,以便后续操作,群组ID通过创建群组时传入的回调返回
  • 创建支持话题的社群,一定要填写 kTIMCreateGroupIsSupportTopic 字段并设置为 true

示例

Json::Value json_group_member_array(Json::arrayValue);
Json::Value json_value_param;
json_value_param[kTIMCreateGroupParamGroupId] = "first group id";
json_value_param[kTIMCreateGroupParamGroupType] = kTIMGroup_Public;
json_value_param[kTIMCreateGroupParamGroupName] = "first group name";
json_value_param[kTIMCreateGroupParamGroupMemberArray] = json_group_member_array;
json_value_param[kTIMCreateGroupParamNotification] = "group notification";
json_value_param[kTIMCreateGroupParamIntroduction] = "group introduction";
json_value_param[kTIMCreateGroupParamFaceUrl] = "group face url";
json_value_param[kTIMCreateGroupParamMaxMemberCount] = 2000;
json_value_param[kTIMCreateGroupParamAddOption] = kTIMGroupAddOpt_Any;
json_value_param[kTIMCreateGroupParamApproveOption] = kTIMGroupAddOpt_Any;
json_value_param[kTIMCreateGroupIsSupportTopic] = true;
const void* user_data = nullptr; // 回调函数回传
int ret = TIMGroupCreate(json_value_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
if (ERR_SUCC != code) {
// 创建群组失败
return;
}
// 创建群组成功 解析Json获取创建后的GroupID
}, user_data);
if (TIM_SUCC != ret) {
// TIMGroupCreate 接口调用失败
}
// json_value_param.toStyledString().c_str() 得到 json_group_create_param JSON 字符串如下
{
"create_group_param_add_option" : 2,
"create_group_param_face_url" : "group face url",
"create_group_param_group_id" : "first group id",
"create_group_param_group_member_array" : [],
"create_group_param_group_name" : "first group name",
"create_group_param_group_type" : 0,
"create_group_param_introduction" : "group introduction",
"create_group_param_max_member_num" : 2000,
"create_group_param_notification" : "group notification",
"create_group_param_is_support_topic" : true
}

◆ TIMCommunityGetJoinedCommunityList()

TIM_API int TIMCommunityGetJoinedCommunityList ( TIMCommCallback  cb,
const void *  user_data 
)

3.2 获取当前用户已经加入的支持话题的社群列表

参数
cb获取社群列表的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

TIMCommunityGetJoinedCommunityList([](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetJoinedCommunityList code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityCreateTopicInCommunity()

TIM_API int TIMCommunityCreateTopicInCommunity ( const char *  group_id,
const char *  json_topic_info,
TIMCommCallback  cb,
const void *  user_data 
)

3.3 创建话题

参数
group_id群 ID
json_topic_info话题信息,Json Key 请参考 TopicInfo
cb创建话题的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

const std::string group_id = GetCommunityID();
json::Object topic_info;
topic_info[kTIMCommunityTopicInfoTopicID] = GetTopicID();
topic_info[kTIMCommunityTopicInfoTopicName] = "topic name";
TIMCommunityCreateTopicInCommunity(group_id.c_str(), json::Serialize(topic_info).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityCreateTopicInCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityDeleteTopicFromCommunity()

TIM_API int TIMCommunityDeleteTopicFromCommunity ( const char *  group_id,
const char *  json_topic_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

3.4 删除话题

参数
group_id群 ID
json_topic_id_array话题 ID 列表
cb删除话题的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

const std::string group_id = GetCommunityID();
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityDeleteTopicFromCommunity(group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityDeleteTopicFromCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunitySetTopicInfo()

TIM_API int TIMCommunitySetTopicInfo ( const char *  json_topic_info,
TIMCommCallback  cb,
const void *  user_data 
)

3.5 修改话题信息

参数
json_topic_info话题信息, Json Key 请参考 TIMGroupTopicInfo
cb修改话题信息的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Object topic_info;
topic_info[kTIMCommunityTopicInfoTopicID] = GetTopicID();
topic_info[kTIMCommunityTopicInfoTopicName] = "topic name";
topic_info[kTIMCommunityTopicInfoNotification] = "topic notification";
topic_info[kTIMCommunityTopicInfoModifyFlag] = kTIMCommunityTopicModifyInfoFlag_Name |
TIMCommunitySetTopicInfo(json::Serialize(topic_info).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunitySetTopicInfo code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityGetTopicInfoList()

TIM_API int TIMCommunityGetTopicInfoList ( const char *  group_id,
const char *  json_topic_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

3.6 获取话题列表

参数
group_id群 ID
json_topic_id_array话题 ID 列表
cb获取话题的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
: json_topic_id_array 传空时,获取此社群下的所有话题列表

示例

const std::string group_id = GetCommunityID();
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityGetTopicInfoList(group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetTopicInfoList code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunitySetTopicInheritMessageReceiveOptionFromCommunity()

TIM_API int TIMCommunitySetTopicInheritMessageReceiveOptionFromCommunity ( const char *  topic_id,
bool  isInherit,
TIMCommCallback  cb,
const void *  user_data 
)

3.7 登录用户在话题中的消息接收选项是否继承社群。该功能仅增强版 SDK 8.1 及以上版本支持。

参数
topic_id话题 ID
isInherit是否继承
cb修改的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

◆ TIMCommunityCreatePermissionGroupInCommunity()

TIM_API int TIMCommunityCreatePermissionGroupInCommunity ( const char *  json_permission_group_info,
TIMCommCallback  cb,
const void *  user_data 
)

4.1 创建权限组(7.8 及其以上版本支持)

参数
json_permission_group_info权限组信息,Json Key 请参考 PermissionGroupInfo
cb创建权限组的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

json::Object permission_group_info;
permission_group_info[kTIMCommunityGroupID] = "xxx";
permission_group_info[kTIMPermissionGroupName] = "permission group name";
TIMCommunityCreatePermissionGroupInCommunity(json::Serialize(permission_group_info).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityCreatePermissionGroupInCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityDeletePermissionGroupFromCommunity()

TIM_API int TIMCommunityDeletePermissionGroupFromCommunity ( const char *  group_id,
const char *  json_permission_group_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.2 删除权限组(7.8 及其以上版本支持)

参数
group_id社群 ID
json_permission_group_id_array权限组 ID 列表
cb删除权限组的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = GetCommunityID();
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityDeletePermissionGroupFromCommunity(group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityDeletePermissionGroupFromCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityModifyPermissionGroupInfoInCommunity()

TIM_API int TIMCommunityModifyPermissionGroupInfoInCommunity ( const char *  json_permission_group_info,
TIMCommCallback  cb,
const void *  user_data 
)

4.3 修改权限组信息(7.8 及其以上版本支持)

参数
json_permission_group_info权限组信息,Json Key 请参考 PermissionGroupInfo
cb修改权限组的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐

示例

json::Object permission_group_info;
permission_group_info[kTIMCommunityGroupID] = "xxx";
permission_group_info[kTIMPermissionGroupID] = "xxx";
permission_group_info[kTIMPermissionGroupName] = "permission group name";
TIMCommunityModifyPermissionGroupInfoInCommunity(json::Serialize(permission_group_info).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityModifyPermissionGroupInfoInCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityGetJoinedPermissionGroupListInCommunity()

TIM_API int TIMCommunityGetJoinedPermissionGroupListInCommunity ( const char *  group_id,
TIMCommCallback  cb,
const void *  user_data 
)

4.4 获取已加入的权限组列表(7.8 及其以上版本支持)

参数
group_id社群 ID
cb获取已加入的权限组列表的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

TIMCommunityGetJoinedPermissionGroupListInCommunity([](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetJoinedPermissionGroupListInCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityGetPermissionGroupListInCommunity()

TIM_API int TIMCommunityGetPermissionGroupListInCommunity ( const char *  group_id,
const char *  json_permission_group_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.5 获取权限组列表(7.8 及其以上版本支持)

参数
group_id社群 ID
json_permission_group_id_array权限组 ID 列表
cb获取权限组列表的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
:
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。
  • json_permission_group_id_array 为空时,获取所有的权限组列表;不为空时,获取指定的权限组列表。

示例

const std::string group_id = "xxx";
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityGetPermissionGroupListInCommunity(group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetPermissionGroupListInCommunity code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityAddCommunityMembersToPermissionGroup()

TIM_API int TIMCommunityAddCommunityMembersToPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_member_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.6 向社群权限组添加成员(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_member_id_array群成员 ID 列表
cb添加成员的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityAddCommunityMembersToPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityAddCommunityMembersToPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityRemoveCommunityMembersFromPermissionGroup()

TIM_API int TIMCommunityRemoveCommunityMembersFromPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_member_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.7 从社群权限组删除成员(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_member_id_array群成员 ID 列表
cb删除成员的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityRemoveCommunityMembersFromPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityRemoveCommunityMembersFromPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityGetCommunityMemberListInPermissionGroup()

TIM_API int TIMCommunityGetCommunityMemberListInPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  next_cursor,
TIMCommCallback  cb,
const void *  user_data 
)

4.8 获取社群权限组成员列表(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_member_id_array群成员 ID 列表
cb获取社群权限组成员列表的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
const std::string next_cursor = "";
TIMCommunityGetCommunityMemberListInPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetCommunityMemberListInPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityAddTopicPermissionToPermissionGroup()

TIM_API int TIMCommunityAddTopicPermissionToPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_topic_permission_map,
TIMCommCallback  cb,
const void *  user_data 
)

4.9 向权限组添加话题权限(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_topic_permission_map话题权限
cb添加话题权限的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json::Object json_obj;
json_obj[kTIMTopicPermissionKey] = "topic id";
json_array.push_back(json_obj);
TIMCommunityAddTopicPermissionToPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityAddTopicPermissionToPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityDeleteTopicPermissionFromPermissionGroup()

TIM_API int TIMCommunityDeleteTopicPermissionFromPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_topic_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.10 从权限组中删除话题权限(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_topic_id_array话题 ID 列表
cb删除话题权限的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityDeleteTopicPermissionFromPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityDeleteTopicPermissionFromPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityModifyTopicPermissionInPermissionGroup()

TIM_API int TIMCommunityModifyTopicPermissionInPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_topic_permission_map,
TIMCommCallback  cb,
const void *  user_data 
)

4.11 修改权限组中的话题权限(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_topic_permission_map话题权限
cb修改权限组中的话题权限的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json::Object json_obj;
json_obj[kTIMTopicPermissionKey] = "topic id";
json_array.push_back(json_obj);
TIMCommunityModifyTopicPermissionInPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityModifyTopicPermissionInPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);

◆ TIMCommunityGetTopicPermissionInPermissionGroup()

TIM_API int TIMCommunityGetTopicPermissionInPermissionGroup ( const char *  group_id,
const char *  permission_group_id,
const char *  json_topic_id_array,
TIMCommCallback  cb,
const void *  user_data 
)

4.12 获取权限组中的话题权限(7.8 及其以上版本支持)

参数
group_id社群 ID
permission_group_id权限组 ID
json_topic_id_array话题 ID 列表
cb获取权限组中的话题权限的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
  • 该功能为旗舰版功能,需要您购买旗舰版套餐。

示例

const std::string group_id = "xxx";
const std::string permission_group_id = "xxx";
json::Array json_array;
json_array.push_back("id1");
json_array.push_back("id2");
TIMCommunityGetTopicPermissionInPermissionGroup(group_id.c_str(), permission_group_id.c_str(), json::Serialize(json_array).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("TIMCommunityGetTopicPermissionInPermissionGroup code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);