ChatToWebhook is a lightweight Roblox server-side utility that captures TextChatService messages and forwards them to any webhook endpoint in rate-limit-safe batches.
It is designed to be:
- πΉ Webhook-agnostic (Discord, Slack, custom APIs, etc.)
- πΉ Server-only & event-driven
- πΉ Safe for live games (batching + throttling)
- πΉ Easy to drop into existing projects
- β Listens to Roblox TextChatService
- π¦ Batches messages to avoid webhook rate limits
- β±οΈ Configurable batch size & flush interval
- π Sanitization & validation hooks
- π Works with any webhook
- π§© Modular design (Config / Types / Externalize)
- A text chat β webhook logger
- A backend/monitoring tool
- Useful for moderation logs, analytics, staff tools, archives
- A generic event system
- A bidirectional chat bridge
- A Discord bot
TextChatService
β
Message Capture
β
Queue / Batch Buffer
β
Webhook POST (HttpService)
Messages are queued and flushed either:
- when the batch reaches a size limit, or
- after a fixed time interval
This keeps webhook usage efficient and rate-limit friendly.
- Clone or download the repository
- Place the
ChatToWebhookfolder into:
ServerScriptService
- Configure your webhook URL and batching settings
- Run the game β messages will begin logging automatically
All configuration lives in the Config module.
Typical options include:
WEBHOOK_URLBATCH_INTERVALMAX_CHARACTERS(per webhook payload)- Optional filters or validation rules
Exact fields may vary β see
Config.luafor details.
- π Chat moderation logs
- π External chat analytics
- π οΈ Staff dashboards
- π Debugging player reports
- π‘ Internal tooling pipelines
- Entirely event-driven
- No per-frame logic
- Network I/O dominates runtime cost
Safe to run in production servers.