Is it possible to check if a player has a social link on their profile, and get what kind it is?

I wanted to be able to warn any possible youtubers that end up playing my game (if it ever happens), that my game has music that cannot be used in a monetized video. I thought perhaps I could find out if they are a youtuber by checking their social links somehow?

I could also use this to prompt twitter users with a pop up so they can follow me and find codes.

Its not necessary for the game at all, but it seems like it could be a nice little touch.

2 Likes

You might be able to do something with a proxy and HTTP service. I have never attempted anything like this so that’s a guess.

However, I think a prompt warning about the music is good enough. Heck, you could even just warn in the description that the music isn’t for monetized videos.

Personally, I wouldn’t do either. Any actual YouTuber would be smart enough to know that there’s a 99% chance they can’t put the game’s music in their video. If they don’t, then they’ll quickly learn.

3 Likes

Rather than relying on whether players have social media links on their profiles or not (which I don’t wholly think is possible), these kinds of notices should be available anywhere on your game (game description, panels of news when players enter, around the environment, so on).

2 Likes

Problems
I mean you have a few issues with your request here, to start (at my current level of understanding) ROBLOX client can’t actually tell if someone is a YouTuber or not, and many of us have social links on our profile just for fun so it would appear to a lot more people then your intended audience. I myself have a YouTube channel and I do not post on it - so I’m not a YouTuber - yet I have it linked on my ROBLOX profile.

Secondly you don’t need to worry about YouTubers getting the video demonetized, it is on them to block out the copyrighted music and so you don’t really need to warn them at all. If they include the music and it gets the video demonetized then oh well it was there fault.

Possible Solutions

  1. As said by the other people in the topic just make the notices public, this is especially useful as then you don’t have to program much (or none at all), and if a player who hasn’t put social links on there profile joins but is a YouTuber then it warns this catagory of people.
  2. Doing nothing - its easiest. As quoted by @Intended_Pun who also posted on this topic:
  1. You could use HTTP Service, if you can program it so it can go to the players profile and make it so it can pick out <span.profile-social.YouTube> or you could probably make your idea work - thats a lot of effort though.

Hoped this gave you some insight, wouldn’t be 100% sure myself. If only ROBLOX had a checkbox signalling if you were a YouTuber :thinking: (although every single player would tick it to look cool).

2 Likes

Using DOM-structure for a system that players (streamers) would rely on is a bad idea. There’s no guarantee it stays the way it currently is, and if it changes you wouldn’t be aware of the change till someone points out that it stopped working.

More generally speaking I’d say @colbert2677’s idea is the most viable; just give a public notice. It won’t break, and it doesn’t harm the ones it doesn’t apply to.

1 Like

Is possible by scraping the user’s profile page and checking for

However as @TaaRt said this is really impractical as if the page ever changes it will stop working.

1 Like

It’s not just about the impracticality of relying on something that’s bound to change, though. There are still things to take into consideration such as how to express to the player your social media related messages or the user’s privacy settings or what-have-you. I’d already be in a sour mood if I’m getting bombarded by unnecessary messages when my aim is to get straight into the game.

Twitter codes are an extra thing that people should search for of their own volition instead of being prompted for. Audio copyright notices should be present for everyone in some form or another in writing (anywhere is fine so long as it is visible).

1 Like

There are two sides to this and I’ll say both and have my own conclusion at the end
This could just allow the spambots to use just webcrawl roblox and start messaging people on their other social media linked to the account, It is already possible now although this could make it much easier for them.
On the other side I see this having some practical use f.e. the uses stated by the OP.

Overall; I feel it should be implmented if not something similar for members of the devforms.

I don’t believe that rolling out fully fledged features only to members of the Roblox Developer Forum is a good idea. This forum is a learning resource for developers, and does not necessarily represent the level of trust and responsibility that can be placed in them.

If a feature is too dangerous to roll out to the public, it should not be rolled out to the public whatsoever.

2 Likes

Good point, I’m still on the edge about it though as it does open another door for spammers to start spamming your other social media & possibility that children who have a linked account could fall for those “login” scams.
I’m leaning more to the side of not implementing it.

You could check if they are in the roblox star creators program… but then again not all roblox youtubers are in that group.

If you’re really worried about it you could always just order from a music commissioner and not have to worry about this. Best way to go about it IMO.

Hello, To do this you would indeed need a web proxy, and some way to parse HTML, I personally use JSDOM on Node.JS. Instead of a Proxy, I’ll just get my web-server to do the processing.
Here is a possible to way to get information from a users profile with node.js

const express = require('express')
const app = express()
const port = 3000
const request = require('request');
const cheerio = require('cheerio')

app.get('/', (req, res) => {
    if (req.query.userId == null){
        res.send("You must provid the `userId` as a pramater with a valid user Id.")
    }else{
        request(`https://www.roblox.com/users/${req.query.userId}/profile`, function (error, response, body) {
            if (error){
                res.send("Something went wrong, perhaps invalid userId?")
            }else{
                const cherParse = cheerio.load(body);
                let bio = cherParse('div .profile-about-content').text();
                let links = {};
                
                res.send({desc: bio, socials: links})
            }
        });
    }
})

app.listen(port, () => console.log(`RBLX User Info listening on port ${port}!`))

Ohh, and to access it from ROBLOX you’d use RequestASync, and JSONDecode, for example:
local userInfo = game.HttpService:JsonDecode(game.HttpService:RequestASync({Url = “http://localhost:3000?userId=[GenericUserId]”, Method = “GET”}))

It is unfinished on the social side and I’ll leave that to you!
To use it you’d go to localhost:3000?userId=[someGenericUserId]

Now, I gotta get ready for bowling!

4 Likes