Insert Message (Electron)
tip
-
This document is only applicable to the Electron solution and should be used exclusively with the Electron modules ([@rongcloud/electron] and [@rongcloud/electron-renderer]).
-
Chatroom and ultra group conversation types are currently not supported.
The SDK supports inserting messages into the local database of Electron. Locally inserted messages are only stored in the local database and will not be sent to the server or other users.
Batch Insert Messages
tip
- Supported since v5.7.2.
- A maximum of 500 messages can be inserted at a time.
Call the [electronExtension.batchInsertMessage] interface to batch insert multiple messages into the local database.
Interface
RongIMLib.electronExtension.batchInsertMessage(messages, checkDuplicate)
#### Parameter Description
| Parameter | Type | Required | Description |
|:--- |:--- |:--- |:--- |
| messages | [IInsertMessage] | Yes | Array of messages to be batch inserted |
| checkDuplicate| Boolean | Yes | Whether to deduplicate messages |
#### Sample Code
```js
const messages = [{
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: '<Target User ID>'
senderUserId: '<userId>',
messageType: RongIMLib.MessageType.TEXT,
content: {
content: 'Insert a message'
},
messageDirection: RongIMLib.MessageDirection.SEND,
messageUId: '<Message Unique Identifier>',
}]
const checkDuplicate = false
RongIMLib.electronExtension.batchInsertMessage(messages, checkDuplicate).then(res => {
if (res.code === RongIMLib.ErrorCode.SUCCESS) {
// Message insertion successful
console.log('Batch insertion successful', res.data)
} else {
// If the message format is incorrect, res.msg returns the index of the message in the array
console.log('Batch insertion failed', res.code, res.msg)
}
})
## Insert Single Message
Call the [electronExtension.insertMessage] method to insert a single message into a local conversation.
:::Tips
It is recommended to prioritize using the [electronExtension.batchInsertMessage] interface for batch insertion, as it supports more comprehensive parameters and offers higher database write efficiency.
:::
#### Interface
```js
RongIMLib.electronExtension.insertMessage(conversation, message, options)
#### Parameter Description
| Parameter | Type | Required | Description |
|:--- |:--- |:--- |:--- |
| conversation | [IConversationOption] | Yes | Target conversation |
| message | [IAReceivedMessage] | Yes | Message object |
| options | [IInsertOptions] | No | Configuration parameters |
#### Sample Code
```js
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<Target User ID>"
}
const message = {
senderUserId: '<userId>',
messageType: RongIMLib.MessageType.TEXT,
content: {
content: 'Insert a message'
},
// Message direction
messageDirection: RongIMLib.MessageDirection.SEND
}
RongIMLib.electronExtension.insertMessage(conversation, message).then(res => {
if (res.code === RongIMLib.ErrorCode.SUCCESS) {
// Message insertion successful, returns message data of type IAReceivedMessage.
console.log('Message insertion successful', res.data)
} else {
console.log('Message insertion failed', res.code, res.msg)
}
})
<!-- links -->
[Message Extension]: expansion
<!-- api links -->
[@rongcloud/electron]: https://www.npmjs.com/package/@rongcloud/electron
[@rongcloud/electron-renderer]: https://www.npmjs.com/package/@rongcloud/electron-renderer
[electronExtension.insertMessage]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/modules/electronExtension.html#insertMessage
[electronExtension.batchInsertMessage]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/modules/electronExtension.html#batchInsertMessage
[IConversationOption]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/modules.html#IConversationOption
[BaseMessage]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/classes/BaseMessage.html
[IAReceivedMessage]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/interfaces/IAReceivedMessage.html
[IInsertOptions]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/interfaces/IInsertOptions.html
[IInsertMessage]: https://doc.rongcloud.cn/apidoc/im-web/latest/zh_CN/interfaces/IInsertMessage.html