An alternative to the former 'PM/DM' system, and a powerful tool for communicating to elevated individuals cross-server and offline, such as staff members, star creators, etc. Can also be used by game developers to provide updates to their players.
Key notes:
Style design and sound effects from common-day messaging services
Have notifications for when receiving messages (Nanoblox Icon -> Messages -> Specific Message)
Have a preview when sending to a role, everyone, or an individual in another server
Use player-to-player chat filters for individuals, use broadcast filter for everything else
Prevent SafeChatters (with CanUserChatAsync) from responding to anything. Also prevent individuals sending messages to SafeChatters.
If receiving messages from a player who is blocked on roblox, replace all messages with 'This message is hidden because you blocked the player.'
Non-global messages between players on the same server expire once both players leave or that server ends
Global messages create a 'Conversation Request' - that request expires after 30 days (or as soon as the message is received if sent to an individual)
Messages from Converstions Request then record the 'recieved data' - when the player joins the game after 30 days has passed from that receival data, they wipe the message from their records. Same for the sender.
A user cannot send more than 300 characters per minute and 500 characters per 5 minutes (although sending to roles or everyone counts as 1, instead of for every player in that group)
preventReplies = true -- even when set to 'false', only users with a role perm of 'MessageReplyPerms' set to 'All' can respond to the Message (unless the message was sent from the same server and 'inServer' is set)
-- This is an Enum used to decide to-who or where the Message should be posted
MessageAudience:
1: Individual
2: Group (i.e. a collection of roles, including a default 'everyone' role) -- with roles you can then design groups of people such as 'Star Creators'
-- This is an Enum within Role Settings used to determine who a user can open up a Conversation to
MessageStartConversationPerms:
1: None
2: IndividualsInServer -- can only message players in the server
3. GroupsInServer -- same as below but can also broadcast to all members in selected roles
4: All -- can start conversations with anyone, any roles, online or offline, in any server
-- This is an Enum within Role Settings used to determine when a user can respond *after* receiving a Message with
-- We don't want everyone being able to respond to players outside of their server otherwise this is going to eat into the games memory/data store budget.
MessageReplyPerms:
1: None
2: InServer
3: All
An alternative to the former 'PM/DM' system, and a powerful tool for communicating to elevated individuals cross-server and offline, such as staff members, star creators, etc. Can also be used by game developers to provide updates to their players.
Key notes: