π¨Messages
yseries:server:messages:sent
Triggered when a new message is successfully sent and saved to the database. This event fires after the message has been inserted into the database and notifications have been sent to recipients.
Event Data:
{
messageId = string, -- Unique message ID
channelId = string, -- Channel/conversation ID
sender = string, -- Sender's phone number
senderImei = string|nil, -- Sender's phone IMEI (can be nil for non-existent numbers like system messages)
content = string, -- Message content
attachments = string|nil, -- JSON string of attachments array (can be nil)
participants = string|table, -- Recipient phone number(s) - can be string or array
timestamp = string|nil, -- Message timestamp from database
targetSource = number|nil -- Target player source ID if recipient is online (can be nil)
}Usage Example:
RegisterNetEvent('yseries:server:messages:sent', function(messageData)
print("New message sent!")
print("Message ID:", messageData.messageId)
print("From:", messageData.sender)
print("To:", json.encode(messageData.participants, { indent = true }))
print("Content:", messageData.content)
-- Example: Log message to external system
-- YourLoggingSystem:LogMessage(messageData)
-- Example: Trigger custom logic based on message content
-- if string.find(messageData.content, "keyword") then
-- -- Do something
-- end
end)Notes:
This event fires for all messages, including group messages
The
senderImeican benilfor messages sent from non-existent phone numbers (e.g. system messages)The
attachmentsfield is a JSON string that needs to be decoded if you want to access the attachment dataThe
participantsfield can be either a string (single recipient) or a table/array (multiple recipients for group messages)The
targetSourceis only set if at least one recipient is online; otherwise it'snil
Last updated