Collaborative Notes Plugin (Not a chat!)


Magnificent work, at first I thought you might of been breaking ToS or something… But, man was I mistaken! The fact you filtered the above words proves you’re an outstanding robloxian. You even ran it through Roblox’s strictest filter!

14 Likes

Just a question: why does your plugin have a legal disclaimer and a terms of service? Most developers go just fine without them.

Update: I’ve soon realised that that was a joke, so why include it?

Source

Also, is there any particular reason you chose to play the chat filter extra safe?

1 Like

He’s playing the chat filter extra safe because Roblox is always overly strict about this kinda stuff.

As far as why include the joke. Why not? Live a little. Have fun. Not everything has to be 1000% serious all the time.

3 Likes

Found a super easy solution to speed this up and make it much more effective in communication!

Just replace the filter function with this:

local function FilterText(text)
    return text
end

Edit: the Roblox filter API returns raw text when used in Studio

9 Likes

This plugin is in a gray area that has no clear policy so I’ve done those things to cover myself to avoid any moderation action.
This way, if they decide that this breaks some rule (that isn’t actually written anywhere), I can show them that my code follows the filtering procedures and that I take no responsibility for misusage.

I don’t want to lose devex eligibility over this, y’know?

2 Likes

Apparently a lot of people don’t realize that Roblox filter APIs dont run in studio, since you’d be able to then steal their private keys to CommunitySift. It only runs on Roblox servers.

I run it through their strictest filter, but it just returns the raw text. It behaves like the function @Sublivion jokingly posted.


Roblox filtering policy in regards to studio is a blank. All the documentation discusses in-game text, and they don’t even provide a way to filter studio text. They don’t even tell you that the APIs dont work, you have to figure it out or stumble on a Devforum thread about it.


I’ve done everything I can to protect myself from moderation action here.

I run it through their filter, as per their specifications. They don’t even say I have to do it in studio, and they also didn’t tell me that it won’t even work.
I then run it through my own rudimentary filter just so that main curses won’t go through.

I then specify in this post that it is not meant as a properly working version of their broken Team Create chat and that misuse is not my responsibility.

This way, I’m completely covered.
If they say this violates a policy (which it doesn’t, there just no policy at all here) then I can point to the source code and say I followed all the guidelines for text filtering, and then even added my own. If their filter doesn’t work, that’s not on my end. If they still try to claim I did some wrong, I can say it’s not a chat and I can’t be held responsible for people who voided their warranty due to misuse.

I better not lose devex eligibility for moderation action when all responsibility here falls on Roblox’s end.

Edit:
And let’s not forget the fact that this is a solution to something that shouldn’t be an issue. Why is their chat so useless that we are forced to write alternatives??

21 Likes

Finally I can take collaborative notes with my friends in team create!

17 Likes

Hey! You should add support for multiple channels notepads.

15 Likes

This is a great idea! I’ll find time to make this over the weekend, hopefully.

Edit: it took 6 months and a global pandemic but I finally did it

7 Likes

Wait, I get this is a joke, but do those texts get changed to “weeb”?

Oh that’s great news. Sorry I mean… unfortunate. Oh well, you’ve done all you can to ensure the messages are filtered. It’s not like anyone will ever use this as a chat anyway, it’s just notes, so all should be fine.

5 Likes

Why do you not just save it using Roblox’s plugin data saving system (I believe it’s called settings.json)? Everyone would require the notes plugin so you would be able to do this.

You could save all the notes in a table by just storing the user who made the note and the note message itself.

It would be nice if notes saved.

3 Likes

Is there a size limit on that?

1 Like

Not really, but be mindful that it’s writing to a JSON file to the user’s computer. I once made a plugin that wrote to it approx. every 1 second using plugin:SetSetting, and it actually caused errors to be thrown unexpectedly occasionally. So cache results and save periodically if you do that.

5 Likes

Got it.

Functional prototype is up and running. Few more tests, and then I’ll publish!
image

It saves using PlaceID GameID as the key, so you’ll have your notes per-place.
It saves whenever a new message is made. Hopefully that’s not going to cause any issues.

5 Likes

You should probably do it based on GameID (game.GameId) as a game itself can have more than one place, I would assume most games want notes to crossover if it has this kind of setup, such as a Battle Royale where the lobby and game itself is separate like Island Royale.

3 Likes

That’s a valid point. Made the change.

Update

Saves notes!

It saves to the game, so you can have notes across the game’s places, and you can have different notes for different games.

Also, added timestamps to notes. This was used to figure out the order of saved notes, and I figured it would be nice to have it displayed.

Update your plugins!

6 Likes

Yes, yes they do.
Rightfully so, too.

4 Likes

Just one more suggestion I’d like to make. You should disable filtering on places that are not setup as a team create, currently with how you filter the notes a team create would be required to filter. So when a team create is not made notes will default to “Error filtering text”.

I tested in studio and an easy way to check if it is a team create or not would be checking if game.Players.LocalPlayer ~= nil, if it is true then the place is a team create and vice-versa. I am positive this abides by the policy with filtering as you don’t need to filter the text if only the client (or only user in studio) would see it.

This would probably defeat the purpose of the plugin name though as it would not be very collaborative if you’re all alone. :stuck_out_tongue:

2 Likes