NIM PC Cross Platform SDK
nim_chatroom.h File Reference

聊天室 接口头文件,在需要使用聊天室 SDK 的地方包含该头文件即可 More...

#include "nim_chatroom_def.h"
#include "public_defines.h"

Go to the source code of this file.

Functions

NIM_SDK_DLL_API void nim_chatroom_reg_enter_cb (const char *json_extension, nim_chatroom_enter_cb_func cb, const void *user_data)
 注册全局进入聊天室的回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_exit_cb (const char *json_extension, nim_chatroom_exit_cb_func cb, const void *user_data)
 注册全局登出、被踢回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_link_condition_cb (const char *json_extension, nim_chatroom_link_condition_cb_func cb, const void *user_data)
 注册聊天室链接状况回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_send_msg_ack_cb (const char *json_extension, nim_chatroom_sendmsg_arc_cb_func cb, const void *user_data)
 注册全局发送消息回执回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_receive_msg_cb (const char *json_extension, nim_chatroom_receive_msg_cb_func cb, const void *user_data)
 注册全局接收消息回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_receive_msgs_cb (const char *json_extension, nim_chatroom_receive_msg_cb_func cb, const void *user_data)
 注册全局接收批量消息回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_receive_notification_cb (const char *json_extension, nim_chatroom_receive_notification_cb_func cb, const void *user_data)
 注册全局接收通知回调 More...
 
NIM_SDK_DLL_API void nim_chatroom_reg_custom_token_cb (const char *json_extension, nim_chatroom_custom_token_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_chatroom_reg_tags_changed_cb (const char *json_extension, nim_chatroom_tags_changed_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_chatroom_reg_sdk_log_cb (nim_chatroom_sdk_log_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_chatroom_init (const char *json_extension)
 聊天室模块初始化(SDK初始化时调用一次) More...
 
NIM_SDK_DLL_API void nim_chatroom_cleanup (const char *json_extension)
 聊天室模块清理(SDK卸载前调用一次) More...
 
NIM_SDK_DLL_API bool nim_chatroom_enter_with_anoymity (const int64_t room_id, const char *anonymity_info, const char *enter_info, const char *json_extension)
 聊天室匿名进入 More...
 
NIM_SDK_DLL_API bool nim_chatroom_enter_with_anoymity2 (const int64_t room_id, const char *anonymity_info, const char *enter_info, const NIMChatRoomConfigGetter config_getter)
 聊天室匿名进入 More...
 
NIM_SDK_DLL_API bool nim_chatroom_independent_enter (const int64_t room_id, const char *enter_info)
 独立进入聊天室 More...
 
NIM_SDK_DLL_API bool nim_chatroom_independent_enter2 (const int64_t room_id, const char *enter_info, const NIMChatRoomConfigGetter config_getter)
 独立进入聊天室 More...
 
NIM_SDK_DLL_API bool nim_chatroom_enter (const int64_t room_id, const char *request_enter_data, const char *enter_info, const char *json_extension)
 聊天室进入 More...
 
NIM_SDK_DLL_API void nim_chatroom_exit (const int64_t room_id, const char *json_extension)
 聊天室登出 More...
 
NIM_SDK_DLL_API void nim_chatroom_set_msgs_batch_report (bool set_batch, const char *json_extension)
 设置消息接收批量上报开关 More...
 
NIM_SDK_DLL_API int nim_chatroom_get_login_state (const int64_t room_id, const char *json_extension)
 获取登录状态 More...
 
NIM_SDK_DLL_API void nim_chatroom_send_msg (const int64_t room_id, const char *msg, const char *json_extension)
 发送消息 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_members_online_async (const int64_t room_id, const char *parameters_json_str, const char *json_extension, nim_chatroom_get_members_cb_func cb, const void *user_data)
 异步获取聊天室成员信息 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_members_by_tag_online_async (const int64_t room_id, const char *parameters_json_str, const char *json_extension, nim_chatroom_get_members_cb_func cb, const void *user_data)
 根据 tag 分页获取聊天室成员列表 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_msg_history_online_async (const int64_t room_id, const char *parameters_json_str, const char *json_extension, nim_chatroom_get_msg_cb_func cb, const void *user_data)
 异步获取消息历史 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_msg_history_by_tags_online_async (const int64_t room_id, const char *parameters_json_str, const char *json_extension, nim_chatroom_get_msg_cb_func cb, const void *user_data)
 根据发送消息时绑定的标签查询历史消息 More...
 
NIM_SDK_DLL_API void nim_chatroom_set_member_attribute_async (const int64_t room_id, const char *notify_ext, const char *json_extension, nim_chatroom_set_member_attribute_cb_func cb, const void *user_data)
 异步修改成员身份标识 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_info_async (const int64_t room_id, const char *json_extension, nim_chatroom_get_info_cb_func cb, const void *user_data)
 异步获取当前聊天室信息 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_members_by_ids_online_async (const int64_t room_id, const char *ids_json_array_string, const char *json_extension, nim_chatroom_get_members_cb_func cb, const void *user_data)
 异步获取指定成员信息 More...
 
NIM_SDK_DLL_API void nim_chatroom_kick_member_async (const int64_t room_id, const char *id, const char *notify_ext, const char *json_extension, nim_chatroom_kick_member_cb_func cb, const void *user_data)
 异步踢掉指定成员 More...
 
NIM_SDK_DLL_API void nim_chatroom_set_proxy (enum NIMChatRoomProxyType type, const char *host, int port, const char *user, const char *password)
 设置Chatroom SDK统一的网络代理。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。 More...
 
NIM_SDK_DLL_API void nim_chatroom_temp_mute_member_async (const int64_t room_id, const char *accid, const int64_t duration, bool need_notify, const char *notify_ext, const char *json_extension, nim_chatroom_temp_mute_member_cb_func cb, const void *user_data)
 异步临时禁言/解禁成员 More...
 
NIM_SDK_DLL_API void nim_chatroom_temp_mute_member_by_tag_async (const int64_t room_id, const char *target_tag, const int64_t duration, bool need_notify, const char *notify_ext, const char *notify_tags, const char *json_extension, nim_chatroom_temp_mute_member_cb_func cb, const void *user_data)
 异步禁言指定 tag 成员 More...
 
NIM_SDK_DLL_API void nim_chatroom_query_members_count_by_tag_async (const int64_t room_id, const char *target_tag, const char *json_extension, nim_chatroom_query_members_count_by_tag_cb_func cb, const void *user_data)
 查询指定 tag 在聊天室的成员数量 More...
 
NIM_SDK_DLL_API void nim_chatroom_update_room_info_async (const int64_t room_id, const char *room_info_json_str, bool need_notify, const char *notify_ext, const char *json_extension, nim_chatroom_update_room_info_cb_func cb, const void *user_data)
 更新聊天室信息,目前只支持更新 kNIMChatRoomInfoKeyName, kNIMChatRoomInfoKeyAnnouncement, kNIMChatRoomInfoKeyBroadcastUrl, kNIMChatRoomInfoKeyExt, kNIMChatRoomInfoKeyQueuelevel 五个字段 More...
 
NIM_SDK_DLL_API void nim_chatroom_update_my_role_async (const int64_t room_id, const char *role_info_json_str, bool need_notify, const char *notify_ext, const char *json_extension, nim_chatroom_update_my_role_cb_func cb, const void *user_data)
 更新我的信息,目前只支持更新kNIMChatRoomMemberInfoKeyNick,kNIMChatRoomMemberInfoKeyAvatar,kNIMChatRoomMemberInfoKeyExt三个字段 More...
 
NIM_SDK_DLL_API void nim_chatroom_queue_offer_async (const int64_t room_id, const char *element_key, const char *element_value, const char *json_extension, nim_chatroom_queue_offer_cb_func cb, const void *user_data)
 新加(更新)麦序队列元素,如果element_key对应的元素已经在队列中存在了,那就是更新操作,如果不存在,就放到队列尾部 More...
 
NIM_SDK_DLL_API void nim_chatroom_queue_poll_async (const int64_t room_id, const char *element_key, const char *json_extension, nim_chatroom_queue_poll_cb_func cb, const void *user_data)
 取出麦序头元素 More...
 
NIM_SDK_DLL_API void nim_chatroom_queue_list_async (const int64_t room_id, const char *json_extension, nim_chatroom_queue_list_cb_func cb, const void *user_data)
 排序列出所有麦序元素 More...
 
NIM_SDK_DLL_API void nim_chatroom_queue_header_async (const int64_t room_id, const char *json_extension, nim_chatroom_queue_header_cb_func cb, const void *user_data)
 查看麦序头元素 More...
 
NIM_SDK_DLL_API void nim_chatroom_queue_drop_async (const int64_t room_id, const char *json_extension, nim_chatroom_queue_drop_cb_func cb, const void *user_data)
 (聊天室管理员权限)删除麦序队列 More...
 
NIM_SDK_DLL_API void nim_chatroom_get_robots_async (const int64_t room_id, int64_t timetag, const char *json_extension, nim_chatroom_query_robots_cb_func cb, const void *user_data)
 获取全部机器人信息 More...
 
NIM_SDK_DLL_API char * nim_chatroom_query_all_robots_block (const int64_t room_id, const char *json_extension)
 获取全部机器人信息(同步接口,堵塞NIM内部线程) More...
 
NIM_SDK_DLL_API char * nim_chatroom_query_robot_by_accid_block (const int64_t room_id, const char *accid, const char *json_extension)
 获取指定机器人信息(同步接口,堵塞NIM内部线程) More...
 
NIM_SDK_DLL_API void nim_chatroom_batch_upate_async (const int64_t room_id, const char *element_info_json_str, bool need_notify, const char *notify_ext, const char *json_extension, nim_chatroom_batch_update_cb cb, const void *user_data)
 批量更新队列信息 More...
 
NIM_SDK_DLL_API void nim_chatroom_update_location_async (const int64_t room_id, NIMChatRoomLocation location, nim_chatroom_update_location_cb_func cb, const char *json_extension, const void *user_data)
 更新聊天室当前用户的位置信息,一般配合游戏业务使用 More...
 
NIM_SDK_DLL_API void nim_chatroom_update_tags_async (const int64_t room_id, NIMChatRoomUpdateTagsInfo tags_info, nim_chatroom_update_tags_cb_func cb, const char *json_extension, const void *user_data)
 更新聊天室标签 More...
 

Detailed Description

聊天室 接口头文件,在需要使用聊天室 SDK 的地方包含该头文件即可

Author
Oleg, Harrison
Date
2015/12/28

Function Documentation

◆ nim_chatroom_batch_upate_async()

void nim_chatroom_batch_upate_async ( const int64_t  room_id,
const char *  element_info_json_str,
bool  need_notify,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_batch_update_cb  cb,
const void *  user_data 
)

批量更新队列信息

Parameters
[in]room_id聊天室ID
[in]element_info_json_str批量更新元素
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_cleanup()

void nim_chatroom_cleanup ( const char *  json_extension)

聊天室模块清理(SDK卸载前调用一次)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ nim_chatroom_enter()

bool nim_chatroom_enter ( const int64_t  room_id,
const char *  request_enter_data,
const char *  enter_info,
const char *  json_extension 
)

聊天室进入

Parameters
[in]room_id聊天室ID
[in]request_enter_data聊天室进入信息(NIM SDK请求聊天室返回的数据)
[in]enter_info聊天室可选信息
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ nim_chatroom_enter_with_anoymity()

bool nim_chatroom_enter_with_anoymity ( const int64_t  room_id,
const char *  anonymity_info,
const char *  enter_info,
const char *  json_extension 
)

聊天室匿名进入

Parameters
[in]room_id聊天室ID
[in]anonymity_info匿名登录所需的信息
[in]enter_info聊天室进入信息
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ nim_chatroom_enter_with_anoymity2()

bool nim_chatroom_enter_with_anoymity2 ( const int64_t  room_id,
const char *  anonymity_info,
const char *  enter_info,
const NIMChatRoomConfigGetter  config_getter 
)

聊天室匿名进入

Parameters
[in]room_id聊天室ID
[in]anonymity_info匿名登录所需的信息
[in]enter_info聊天室进入信息
[in]config_getter配置参数获取对象
Returns
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ nim_chatroom_exit()

void nim_chatroom_exit ( const int64_t  room_id,
const char *  json_extension 
)

聊天室登出

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ nim_chatroom_get_info_async()

void nim_chatroom_get_info_async ( const int64_t  room_id,
const char *  json_extension,
nim_chatroom_get_info_cb_func  cb,
const void *  user_data 
)

异步获取当前聊天室信息

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_login_state()

int nim_chatroom_get_login_state ( const int64_t  room_id,
const char *  json_extension 
)

获取登录状态

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
int 登录状态

◆ nim_chatroom_get_members_by_ids_online_async()

void nim_chatroom_get_members_by_ids_online_async ( const int64_t  room_id,
const char *  ids_json_array_string,
const char *  json_extension,
nim_chatroom_get_members_cb_func  cb,
const void *  user_data 
)

异步获取指定成员信息

Parameters
[in]room_id聊天室ID
[in]ids_json_array_stringjson array string
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误

◆ nim_chatroom_get_members_by_tag_online_async()

void nim_chatroom_get_members_by_tag_online_async ( const int64_t  room_id,
const char *  parameters_json_str,
const char *  json_extension,
nim_chatroom_get_members_cb_func  cb,
const void *  user_data 
)

根据 tag 分页获取聊天室成员列表

Parameters
room_id聊天室ID
parameters_json_str参数json string
json_extensionjson扩展参数(备用,目前不需要)
cb回调函数, 定义见nim_chatroom_def.h
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_members_online_async()

void nim_chatroom_get_members_online_async ( const int64_t  room_id,
const char *  parameters_json_str,
const char *  json_extension,
nim_chatroom_get_members_cb_func  cb,
const void *  user_data 
)

异步获取聊天室成员信息

Parameters
[in]room_id聊天室ID
[in]parameters_json_str参数json string
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_msg_history_by_tags_online_async()

NIM_SDK_DLL_API void nim_chatroom_get_msg_history_by_tags_online_async ( const int64_t  room_id,
const char *  parameters_json_str,
const char *  json_extension,
nim_chatroom_get_msg_cb_func  cb,
const void *  user_data 
)

根据发送消息时绑定的标签查询历史消息

Parameters
room_id聊天室 ID
parameters_json_str查询参数格式 {"tags":["abc","bcd","def"],"limit":10,"start":0,"end":1665542603510,"reverse":false,"message_types":[0,1,2,3,4,5,6]}
json_extensionjson 扩展参数(备用,目前不需要)
cb回调函数, 定义见nim_chatroom_def.h
user_dataAPP 的自定义用户数据,SDK 只负责传回给回调函数 cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_msg_history_online_async()

void nim_chatroom_get_msg_history_online_async ( const int64_t  room_id,
const char *  parameters_json_str,
const char *  json_extension,
nim_chatroom_get_msg_cb_func  cb,
const void *  user_data 
)

异步获取消息历史

Parameters
[in]room_id聊天室ID
[in]parameters_json_str参数json string
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_get_robots_async()

void nim_chatroom_get_robots_async ( const int64_t  room_id,
int64_t  timetag,
const char *  json_extension,
nim_chatroom_query_robots_cb_func  cb,
const void *  user_data 
)

获取全部机器人信息

Parameters
[in]room_id聊天室ID
[in]timetag时间戳
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数 回调函数定义见nim_robot_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void

◆ nim_chatroom_independent_enter()

bool nim_chatroom_independent_enter ( const int64_t  room_id,
const char *  enter_info 
)

独立进入聊天室

Parameters
[in]room_id聊天室ID
[in]enter_info聊天室进入信息
Returns
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ nim_chatroom_independent_enter2()

bool nim_chatroom_independent_enter2 ( const int64_t  room_id,
const char *  enter_info,
const NIMChatRoomConfigGetter  config_getter 
)

独立进入聊天室

Parameters
[in]room_id聊天室ID
[in]enter_info聊天室进入信息
[in]config_getter配置参数获取对象
Returns
bool 进入信息是否正确,返回失败则不会触发进入回调

◆ nim_chatroom_init()

void nim_chatroom_init ( const char *  json_extension)

聊天室模块初始化(SDK初始化时调用一次)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void

◆ nim_chatroom_kick_member_async()

void nim_chatroom_kick_member_async ( const int64_t  room_id,
const char *  id,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_kick_member_cb_func  cb,
const void *  user_data 
)

异步踢掉指定成员

Parameters
[in]room_id聊天室ID
[in]id成员id
[in]notify_ext放到事件通知中的扩展字段
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 403:无权限 404:被踢账号无效或非在线

◆ nim_chatroom_query_all_robots_block()

char * nim_chatroom_query_all_robots_block ( const int64_t  room_id,
const char *  json_extension 
)

获取全部机器人信息(同步接口,堵塞NIM内部线程)

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
char 机器人信息 json string array

◆ nim_chatroom_query_members_count_by_tag_async()

void nim_chatroom_query_members_count_by_tag_async ( const int64_t  room_id,
const char *  target_tag,
const char *  json_extension,
nim_chatroom_query_members_count_by_tag_cb_func  cb,
const void *  user_data 
)

查询指定 tag 在聊天室的成员数量

Parameters
room_id聊天室ID
target_tag要查询的指定 tag
json_extensionjson扩展参数(备用,目前不需要)
cb回调函数, 定义见nim_chatroom_def.h
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_query_robot_by_accid_block()

char * nim_chatroom_query_robot_by_accid_block ( const int64_t  room_id,
const char *  accid,
const char *  json_extension 
)

获取指定机器人信息(同步接口,堵塞NIM内部线程)

Parameters
[in]room_id聊天室ID
[in]accid机器人accid
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
char 机器人信息 json string

◆ nim_chatroom_queue_drop_async()

void nim_chatroom_queue_drop_async ( const int64_t  room_id,
const char *  json_extension,
nim_chatroom_queue_drop_cb_func  cb,
const void *  user_data 
)

(聊天室管理员权限)删除麦序队列

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_header_async()

void nim_chatroom_queue_header_async ( const int64_t  room_id,
const char *  json_extension,
nim_chatroom_queue_header_cb_func  cb,
const void *  user_data 
)

查看麦序头元素

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_list_async()

void nim_chatroom_queue_list_async ( const int64_t  room_id,
const char *  json_extension,
nim_chatroom_queue_list_cb_func  cb,
const void *  user_data 
)

排序列出所有麦序元素

Parameters
[in]room_id聊天室ID
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_queue_offer_async()

void nim_chatroom_queue_offer_async ( const int64_t  room_id,
const char *  element_key,
const char *  element_value,
const char *  json_extension,
nim_chatroom_queue_offer_cb_func  cb,
const void *  user_data 
)

新加(更新)麦序队列元素,如果element_key对应的元素已经在队列中存在了,那就是更新操作,如果不存在,就放到队列尾部

Parameters
[in]room_id聊天室ID
[in]element_key新元素的UniqKey,长度限制128字节
[in]element_value新元素内容,长度限制4096字节
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 403:无权限,只有管理员能操作 414:参数错误

◆ nim_chatroom_queue_poll_async()

void nim_chatroom_queue_poll_async ( const int64_t  room_id,
const char *  element_key,
const char *  json_extension,
nim_chatroom_queue_poll_cb_func  cb,
const void *  user_data 
)

取出麦序头元素

Parameters
[in]room_id聊天室ID
[in]element_key需要取出的元素的UniqKey,长度限制128字节,传空传表示取出第一个元素
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 403:无权限,只有管理员才能操作 404:没有元素可取出

◆ nim_chatroom_reg_custom_token_cb()

void nim_chatroom_reg_custom_token_cb ( const char *  json_extension,
nim_chatroom_custom_token_cb_func  cb,
const void *  user_data 
)
Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb如果登录类型模式默认类型,则注册该回调用于在重登陆时获取新的登录鉴权 token
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 无

◆ nim_chatroom_reg_enter_cb()

void nim_chatroom_reg_enter_cb ( const char *  json_extension,
nim_chatroom_enter_cb_func  cb,
const void *  user_data 
)

注册全局进入聊天室的回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 404:聊天室不存在 403:无权限 500:服务器内部错误 13001:IM主连接状态异常 13002:聊天室状态异常 13003:黑名单用户禁止进入聊天室

◆ nim_chatroom_reg_exit_cb()

void nim_chatroom_reg_exit_cb ( const char *  json_extension,
nim_chatroom_exit_cb_func  cb,
const void *  user_data 
)

注册全局登出、被踢回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_chatroom_reg_link_condition_cb()

void nim_chatroom_reg_link_condition_cb ( const char *  json_extension,
nim_chatroom_link_condition_cb_func  cb,
const void *  user_data 
)

注册聊天室链接状况回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_reg_receive_msg_cb()

void nim_chatroom_reg_receive_msg_cb ( const char *  json_extension,
nim_chatroom_receive_msg_cb_func  cb,
const void *  user_data 
)

注册全局接收消息回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_reg_receive_msgs_cb()

void nim_chatroom_reg_receive_msgs_cb ( const char *  json_extension,
nim_chatroom_receive_msg_cb_func  cb,
const void *  user_data 
)

注册全局接收批量消息回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_reg_receive_notification_cb()

void nim_chatroom_reg_receive_notification_cb ( const char *  json_extension,
nim_chatroom_receive_notification_cb_func  cb,
const void *  user_data 
)

注册全局接收通知回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_reg_send_msg_ack_cb()

void nim_chatroom_reg_send_msg_ack_cb ( const char *  json_extension,
nim_chatroom_sendmsg_arc_cb_func  cb,
const void *  user_data 
)

注册全局发送消息回执回调

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 416:频率受限(目前配置5分钟300条) 13004:被禁言 13006:聊天室处于整体禁言状态,只有管理员能发言

◆ nim_chatroom_reg_tags_changed_cb()

void nim_chatroom_reg_tags_changed_cb ( const char *  json_extension,
nim_chatroom_tags_changed_cb_func  cb,
const void *  user_data 
)

(全局回调) 当自己的 tags 信息在聊天室被修改时通过该回调进行通知

Parameters
[in]json_extensionjson 扩展参数(备用,目前不需要)
[in]cb回调函数用于接收变更后的 tags 信息
[in]user_dataAPP 的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_send_msg()

void nim_chatroom_send_msg ( const int64_t  room_id,
const char *  msg,
const char *  json_extension 
)

发送消息

Parameters
[in]room_id聊天室ID
[in]msg消息json string
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ nim_chatroom_set_member_attribute_async()

void nim_chatroom_set_member_attribute_async ( const int64_t  room_id,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_set_member_attribute_cb_func  cb,
const void *  user_data 
)

异步修改成员身份标识

Parameters
[in]room_id聊天室ID
[in]parameters_json_str参数json string
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数异常 417:重复操作 403:无权限 500:服务器错误 13002: 聊天室状态异常 13003:在黑名单中 13004:在禁言名单中

◆ nim_chatroom_set_msgs_batch_report()

void nim_chatroom_set_msgs_batch_report ( bool  set_batch,
const char *  json_extension 
)

设置消息接收批量上报开关

Parameters
[in]set_batch批量开关
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ nim_chatroom_set_proxy()

void nim_chatroom_set_proxy ( enum NIMChatRoomProxyType  type,
const char *  host,
int  port,
const char *  user,
const char *  password 
)

设置Chatroom SDK统一的网络代理。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。

Parameters
[in]type代理类型,见NIMProxyType定义
[in]host代理地址
[in]port代理端口
[in]user代理用户名
[in]password代理密码
Returns
void 无返回值

◆ nim_chatroom_temp_mute_member_async()

void nim_chatroom_temp_mute_member_async ( const int64_t  room_id,
const char *  accid,
const int64_t  duration,
bool  need_notify,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_temp_mute_member_cb_func  cb,
const void *  user_data 
)

异步临时禁言/解禁成员

Parameters
[in]room_id聊天室ID
[in]accid成员ID
[in]duration临时禁言时长(秒),解禁填0
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]json_extensionjson扩展参数(备用,目前不需要)
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 403:无权限操作,只有管理员可以操作,管理员只能被创建者操作,自己不能操作自己 414:参数错误 417:重复操作,如果已经是黑名单或永久禁言状态,不能设置为临时禁言状态

◆ nim_chatroom_temp_mute_member_by_tag_async()

void nim_chatroom_temp_mute_member_by_tag_async ( const int64_t  room_id,
const char *  target_tag,
const int64_t  duration,
bool  need_notify,
const char *  notify_ext,
const char *  notify_tags,
const char *  json_extension,
nim_chatroom_temp_mute_member_cb_func  cb,
const void *  user_data 
)

异步禁言指定 tag 成员

Parameters
room_id聊天室ID
target_tag要禁言的指定 tag
duration临时禁言时长(秒),解禁填0
need_notify是否聊天室内广播通知
notify_ext通知中的自定义字段,长度限制2048
notify_tags设置通知指定 tag 下的成员
json_extensionjson扩展参数(备用,目前不需要)
cb回调函数, 定义见nim_chatroom_def.h
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_location_async()

NIM_SDK_DLL_API void nim_chatroom_update_location_async ( const int64_t  room_id,
NIMChatRoomLocation  location,
nim_chatroom_update_location_cb_func  cb,
const char *  json_extension,
const void *  user_data 
)

更新聊天室当前用户的位置信息,一般配合游戏业务使用

Parameters
room_id聊天室 ID
location位置信息结构体,见 NIMChatRoomLocation
cb回调函数, 定义见nim_chatroom_def.h
json_extensionjson扩展参数(备用,目前不需要)
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void

◆ nim_chatroom_update_my_role_async()

void nim_chatroom_update_my_role_async ( const int64_t  room_id,
const char *  role_info_json_str,
bool  need_notify,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_update_my_role_cb_func  cb,
const void *  user_data 
)

更新我的信息,目前只支持更新kNIMChatRoomMemberInfoKeyNick,kNIMChatRoomMemberInfoKeyAvatar,kNIMChatRoomMemberInfoKeyExt三个字段

Parameters
[in]room_id聊天室ID
[in]role_info_json_str我的信息
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]json_extensionjson扩展参数,针对固定成员,可配置更新的信息是否需要持久化,默认不持久化以及配置反垃圾相关参数{"need_save":false,"anti_spam_business_id":"xxxxx"}
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_room_info_async()

void nim_chatroom_update_room_info_async ( const int64_t  room_id,
const char *  room_info_json_str,
bool  need_notify,
const char *  notify_ext,
const char *  json_extension,
nim_chatroom_update_room_info_cb_func  cb,
const void *  user_data 
)

更新聊天室信息,目前只支持更新 kNIMChatRoomInfoKeyName, kNIMChatRoomInfoKeyAnnouncement, kNIMChatRoomInfoKeyBroadcastUrl, kNIMChatRoomInfoKeyExt, kNIMChatRoomInfoKeyQueuelevel 五个字段

Parameters
[in]room_id聊天室ID
[in]room_info_json_str聊天室信息
[in]need_notify是否聊天室内广播通知
[in]notify_ext通知中的自定义字段,长度限制2048
[in]json_extensionjson扩展参数 目前可用于配置反垃圾相关参数,格式{"anti_spam_business_id":"{\"textbid\":\"xxxx\",\"picbid\":\"xxxx\"}"}
[in]cb回调函数, 定义见nim_chatroom_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值

◆ nim_chatroom_update_tags_async()

NIM_SDK_DLL_API void nim_chatroom_update_tags_async ( const int64_t  room_id,
NIMChatRoomUpdateTagsInfo  tags_info,
nim_chatroom_update_tags_cb_func  cb,
const char *  json_extension,
const void *  user_data 
)

更新聊天室标签

Parameters
room_id聊天室 ID
location标签信息结构体,见 NIMChatRoomUpdateTagsInfo
cb回调函数, 定义见nim_chatroom_def.h
json_extensionjson扩展参数(备用,目前不需要)
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void