Depends how big your game is but I think a discord webhook could work. You don’t need to worry about discord banning your account because they just don’t do that for webhooks. When rate limit (30 requests/min) is reached it just puts a cooldown on incoming requests thats all.
Adding to that, you could have each discord message contain several Roblox messages. So instead of
Emma: Hi!
Emma: <3
Noob: Hi
Emma: How is everyone?
do
Emma: Hi!
<3
Noob: Hi
Emma: How is everyone?
That way you can log several times more messages before hitting the rate limit.
Is this system for moderation purposes? You could also just have your server append each message to a text file and use any old text editor to search and view the logs. Although the discord approach is kinda nice if you want to have other people moderate since you don’t need to figure out how to give each mod access to such a text file.
Since you’ll be exfiltrating user information from Roblox, your relationship and duties regarding this data changes. You’ll have to ensure that you can delete a user’s chat logs upon a data deletion request e.g. as part of a GDPR request. Or you could keep it really simple and delete logs that are older than one or two days, or logs that are older than any pending moderation tasks. You may have to inform users about what kind of data you store, for how long, for what purposes and who to contact for data deletion/insight requests. Either way, I’d really advice against just storing all chat messages+user IDs forever. You might not get in legal trouble, but doing the right thing by respecting users’ rights is worth it for it’s own sake IMO.
Every single software system that can store text and let users search it by content, sender or date is an alternative. Excel, Google Sheets, a proper DB Management System like postgres or mariadb, a text file like I mentioned.
The simplest system is probably something like sending every chat message to a remote server made in e.g. NodeJS that just appends each message to a file on said server. SSH into the server and search it with common terminal commands, or open it in an editor that supports opening files remotely e.g. VS Code.
You might be able to host the server on your own computer, but if you don’t mind paying a bit every month you can rent from someone like Hetzner (the only company I have tried, there are 100s).
an easy and simple solution is to log all messages sent by players and add them to a datastore when they leave.
this is easy for you to access and should be reliable without you getting rate limited.