Ingame developer contact/feedback section

So I have been looking around my game, and found that a feature such as developer contact would be very useful. I have seen such feature in some games like a poll that goes to the developer or when publishing something and waiting for approval. The reason why I need this is because I want to make it easier for me and the users to contact me, but I’m not good at using global storages and such at all.

Main goal

Make a TextBox in which users can type and when they press "Send" it must save that text, then I can see the Profile Picture (not required), Username, UserID, date send (MM.DD.YY) and when I click it a new empty frame opens and the text is shown there.

Add-ons (not required, but would make it cool)

The messages should be stored on a scrollable frame, so that when a new one appears others get moved under it. Message history limit should be as big as possible and I can search users, scroll through pages, search for topics and so one. When I open to read the text user sent me, I should be able to reply or at least give them some indicator that I saw their message. If someone is spamming I should be able to block them, but to prevent that there has to be a 30 minutes cooldown. Text lenght has to have like 10000 character limit. I should be able to delete useless or readen messages, so there will be more free room for others to come.

Possible bugs

I have no idea how to work with global variables, but refreshing may be a problem, but once we manage to make the system I will try to polish everything.
3 Likes

I think it’s better to just add your twitter account to the game itself or as a little gui on the player’s screen. Personally I have no Idea how to do what you’re asking for though sorry.

2 Likes

This is made for ease of the players and me, and also roblox hates off-site links. I have seen it so I’m sure it’s possible, if you want to see an example check the “Lua Learner” game or what it’s called.

2 Likes

You could use DataStoreService to store the responses. Now you can load them in whenever you want. Just make sure to constantly clear it up.

2 Likes

Couldn’t you create a completely separate datastore that incrementally saves whenever the player presses send? You spoke of in-game GUI’s and such, so you could use a datastore editor to manage it or I suppose you could create your own. I haven’t created a feedback section yet, so this is without any working knowledge on this. I do know you’ll definitely need some sanity checks before anything is saved.

2 Likes

I have no idea what DataStoreService is or how to work with datastores so it would be cool if you can show me an example :slight_smile:. For you all that still can’t figure out what I’m trying to do, I will make the gui and show the example.

1 Like

Datastore is something that keeps all saved data. Let’s say you made one for your game currency each time a player leaves there data gets saved so if they rejoin they have the same currency as they had before example.

Player1: 100 coins
Player1 Leaves.
Player1 rejoins, Leaderboard 100 coins.

1 Like

I have tried making the gui I spoke of earlier, hope this helps ya understand my goal better!

1 Like

Oh! So you want it whenever people wrote a bug into it or something you told them is allowed to be typed there, you then would want it so if they click send, the information typed in the textbox would be send to a server of you?

Example
Discord Webhooks,

Form
Hello, I would like to submit a bug, “Bug message”.
Clicks send
Discord Server (Your chosen channel)
“Game Send” Information of the text in textbox?
A system like this so the message on the box gets sent to a discord server of you?

2 Likes

Actually my idea was to have it on a messenger-like thing in the game, but that idea will actually turn out far more effective and easy to make, thanks! There is still a problem that many users need so much letters to describe something, but discord webhooks allow 2000 at most which would ruin that so it’s a handy thing to think of.

I don’t think that is possible.
Reason:
The server sending isn’t a thing in messenger, webhooks isn’t a thing.
Why discord works:
Http service connecting with your webhooks to make it auto send a message,
embed, message titles — to improve the lookout.

I have seen it in a game so that’s how I know it is possible. The thing I saw was like a guild with level, leader, members and chat. The chat stood there every time I rejoined the game and it was updating real-time so if any of the guild members don’t share the same server they keep the contact between them.

As @Mil_dev said. u can use Discord Webhooks. To add a Webhook u can go to your Discod Server and in Channel Settings go to Webhook and create one.

After the webhook is created u need the URL of the webhook, now u can use HTTPService to send a Post Request the the Webhook url

1 Like

U can create your own Webserver and your own Discord bot to pull information from your Discord Server

What do you mean by that? Messenger just doesn’t have these functions.

I’m making a tutorial for you on how to make webhooks.

1 Like

I know a very good tutorial for webhooks so no need, but I appreciate it. Also looks like most of you didn’t understand correctly what I ment by “messenger”. It should be like when someone sends a message then I see it in the format as how I see messages on my e-mail (my own design) so when I click it then it shows the text and keeps the author identifications on the top. Btw currently working on webhook option.

u can add the author in the text content or create a rich embed

1 Like

Discord’s rate limits are pretty reasonable, so you won’t have to worry about your limit (as long as you use a Debounce) and ensure that players don’t spam post messages. However remember that Discord is a messaging system, so it is not ideal to use it for storing data such as player reports and messages. If you believe that your game is relatively small and would help, this is how to post on Webhooks from LocalScripts. Because LocalScripts cannot access Roblox’s HTTP service, you have to use RemoteEvents. This would be the LocalScript in the submit button of the GUI:

local Remote = game.ReplicatedStorage["Your remote's name"]
local Player = game.Players.LocalPlayer
local TextBox = --Reference the TextBox where the player types in.

script.Parent.MouseButton1Click:Connect(function()
    local message = TextBox.Text
    Remote:FireServer(message)
end)

Note that the first parameter sent to the server would automatically be the player firing the event. So the server script would be:

local Remote = game.ReplicatedStorage["Your remote's name"]
local HTTP = game:GetService("HttpService")
local Webhook = " " --Store it into a variable.
Remote.OnServerEvent:Connect(function(player,message)
    local Text = {
        ["content"] = message
    }
    local Encoded = HTTP:JSONEncode(Text)
    HTTP:PostAsync(Webhook,Encoded)
end)

Aaaaaaaaaaaaaaaaaaaaand you just stated that you don’t need this tutorial, so I’ll just leave it here for a random developer passing by in the future who needs this! XD

2 Likes

Just to be sure I made a quick one to show I hope the images shown will be understandable, it’s harder to do on mobile. Anyways here you go! :smiley:
Tutorial Image:

1 Like