Public Member Functions | |
V2TIMMessageListGetOption () | |
V2TIMMessageListGetOption (const V2TIMMessageListGetOption &) | |
V2TIMMessageListGetOption & | operator= (const V2TIMMessageListGetOption &) |
~V2TIMMessageListGetOption () | |
Data Fields | |
V2TIMMessageGetType | getType |
V2TIMString | userID |
V2TIMString | groupID |
uint32_t | count |
V2TIMElemTypeVector | messageTypeList |
V2TIMMessage * | lastMsg |
uint64_t | lastMsgSeq |
int64_t | getTimeBegin |
int64_t | getTimePeriod |
V2TIMUInt64Vector | messageSeqList |
V2TIMMessageListGetOption | ( | const V2TIMMessageListGetOption & | ) |
V2TIMMessageListGetOption& operator= | ( | const V2TIMMessageListGetOption & | ) |
V2TIMMessageGetType getType |
Message pulling type (whether to pull older or newer messages from the cloud or local storage)
If messages are pulled from the cloud, they will be merged with locally stored messages before being returned. If network connection is not available, only locally stored messages will be returned.
About getType, the starting message, and the time range for message pulling:
getType | Pulling type. Valid values: V2TIM_GET_CLOUD_OLDER_MSG, V2TIM_GET_CLOUD_NEWER_MSG, V2TIM_GET_LOCAL_OLDER_MSG, V2TIM_GET_LOCAL_NEWER_MSG |
V2TIMString userID |
Pull historical one-to-one chat messages.
V2TIMString groupID |
Pull the message history of a group chat.
uint32_t count |
Number of messages to be pulled.
V2TIMElemTypeVector messageTypeList |
Set the type of messages to pull. This API works only if getType is V2TIM_GET_LOCAL_OLDER_MSG or V2TIM_GET_LOCAL_NEWER_MSG. If null is passed in, all message types will be pulled.
V2TIMMessage* lastMsg |
Start message for message pulling
When one-to-one messages are pulled, only lastMsg can be used to specify the start point for message pulling. If lastMsg is not specified, the Chat SDK will pull starting from the newest message of the conversation.
When group messages are pulled, lastMsg or lastMsgSeq can be used to specify the start point for message pulling:
If both lastMsg and lastMsgSeq are specified, the Chat SDK will use lastMsg to determine the start point for message pulling.
If neither lastMsg nor lastMsgSeq is specified, there are two cases for determining the start point for message pulling:
uint64_t lastMsgSeq |
int64_t getTimeBegin |
Time range for message pulling
getTimeBegin: indicates the start point of the time range. The default value is 0, indicating to start pulling now. The value can also be a UTC timestamp, in seconds.
getTimePeriod: indicates the length of the time range, in seconds. The default value is 0, indicating that the time range is not limited.
The direction of the time range is determined by the getType parameter:
If getType is V2TIM_GET_CLOUD_OLDER_MSG/V2TIM_GET_LOCAL_OLDER_MSG, the time range is a time period (determined by getTimePeriod) prior to getTimeBegin.
If getType is V2TIM_GET_CLOUD_NEWER_MSG/V2TIM_GET_LOCAL_NEWER_MSG, the time range is a time period (determined by getTimePeriod) after getTimeBegin.
The value range is a closed range, including the start and end points in time. The relationship between the two is as follows:
int64_t getTimePeriod |
V2TIMUInt64Vector messageSeqList |
Pull the historical messages of a group chat according to the specified sequences (supported in 7.1 and later versions)