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 TIMResultTIMErrCode 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
}

results matching ""

    No results matching ""