Awoken Chat exposes a small Lua API on both server and client, plus full compatibility with the legacy chat:addMessage / chat:addSuggestion shape so existing resources keep working unchanged.
Anything using exports.chat:addMessage(...) or TriggerEvent('chatMessage', ...) keeps working out of the box - Awoken Chat declares provide 'chat' in its manifest and listens for those events natively.
Server-side exports
Send a message
Server-authoritative send. Goes through the full pipeline (antispam, blocked-word filter, escalation, mentions, webhooks, proximity filtering).
System notification
Sends a coloured info/success/warning/error toast to one or all players. Bypasses the full message pipeline - shows as a single non-archived line.
Returns the live category list (DB rows merged with the in-code defaults). Useful for admin panels or external integrations that need to know what channels exist.
Look up a single category
Server-side events
Inbound from clients
Outbound to clients
Legacy chat compatibility
Every resource that interacts with the stock chat keeps working unchanged.
chat:addMessage
Exports namespace
exports.chat:addMessage / addSuggestion / removeSuggestion / addSuggestions are all wired to the matching Awoken handlers via FXServer’s __cfx_export_chat_* internal events. No code changes needed in your other resources.
Suggestion events
The legacy net events still fire:
Client-side exports
Lighter API - mostly affordances for opening the chat or executing a command programmatically.
The NUI listens for awoken_chat:* events for chat state; raw SendNUIMessage calls from outside the resource are not supported. Use the events above or the server :send export.
Net event signatures (advanced)
If you’re writing a tightly-integrated resource that listens on the awoken event surface directly:
Treat these payloads as read-only forward compatibility surfaces. Awoken Chat may add fields in future versions; mutate at your own risk.