TIMMsgSendMessageV2
Introduction
Send message V2
For C2C message, conv_id is peer's UserID, conv_type is Conv_C2C.
For group message, conv_id is groupID, conv_type is Conv_Group.
You cannot send kTIMElem_GroupTips, kTIMElem_GroupReport type of messages. They are sent by the system to inform updating group info.
Different from TIMMsgSendMessage, its return value is different and the callback param is added.
Parameter details
Parameter name | Parameter type | Required | Description |
---|---|---|---|
msgSendMessageParams | MsgSendMessageParamsV2 | yes | Param of sending message |
Returned template
Promise<commonResponse>
{
code: TIMResult | TIMErrCode;
desc?: string | undefined;
json_param?: string | undefined;
json_params?: string | undefined;
user_data?: string | undefined;
}
Return value details
name | type | description |
---|---|---|
code | TIMResult | TIMErrCode | Request result: Error codes. 0 means success. |
desc | string | undefined | The description of the error. It will be empty if success. |
json_param | string | undefined | Return value of calling API |
json_params | string | undefined | Return value of calling API. Compatible field, which is returned in some cases. |
user_data | string | undefined | ImSDK is responsible for transporting user-defined data without any processing |
Code example
import TimRender from "im_electron_sdk/dist/renderer";
const timRenderInstance = new TimRender();
import { MsgSendMessageParamsV2, Json_value_msg, userProfileCustom, userProfile, GroupMemberInfo, GroupMemberInfoCustemString } from "im_electron_sdk/dist/interfaces";
let userProfileCustom: userProfileCustom = {
user_profile_custom_string_info_key: '',
user_profile_custom_string_info_value: 'string;'
}
let groupMemberCustom: GroupMemberInfoCustemString = {
group_member_info_custom_string_info_key: '',
group_member_info_custom_string_info_value: '',
}
let groupMemberInfo: GroupMemberInfo = {
group_member_info_identifier: '',
group_member_info_join_time: 0,
group_member_info_member_role: 0,
group_member_info_msg_flag: 0,
group_member_info_msg_seq: 0,
group_member_info_shutup_time: 0,
group_member_info_name_card: '',
group_member_info_custom_info: [groupMemberCustom]
}
let senderProfile: userProfile = {
user_profile_add_permission: 0,
user_profile_birthday: 0,
user_profile_custom_string_array: [userProfileCustom],
user_profile_face_url: '',
user_profile_gender: 0,
user_profile_identifier: '',
user_profile_language: 0,
user_profile_level: 0,
user_profile_location: '',
user_profile_nick_name: '',
user_profile_role: 0,
user_profile_self_signature: '',
}
let params: Json_value_msg = {
message_elem_array: [{
elem_type: 1,
text_elem_content: '',
}],
message_conv_id: '',
message_conv_type: 0,
message_sender: '',
message_priority: 0,
message_client_time: 0,
message_server_time: 0,
message_is_from_self: false,
message_platform: 0,
message_is_read: false,
message_is_online_msg: false,
message_status: 0,
message_custom_int: 0,
message_custom_str: '',
message_is_excluded_from_unread_count: false,
message_group_at_user_array: [''],
message_is_forward_message: false,
message_sender_profile: senderProfile,
message_sender_group_member_info: groupMemberInfo,
message_offline_push_config: {}
}
let convId = ''
let convType = 0
let param: MsgSendMessageParamsV2 = {
conv_id: convId,
conv_type: convType,
params: params,
user_data: "",
callback: (data) => { }
}
const { code } = await timRenderInstance.TIMMsgSendMessageV2(param);
if (code == 0) {
// success
}