Closed kaba99 closed 6 years ago
Attaching channel specific data as riders on the profile seems a bit hacky. What kind of API are you envisioning?
Can you talk more about what you're intending to use this for? If you're just looking for generic profile fields like Twitter handle, that would be something I could consider adding as a global option. If you're looking to track information about users like chat quotes or points earned from some in-channel contest, you could have a bot handle that for your channel (several channels already do this).
I mean, that when you extend channel's functionallity with "external channel js", you may want to keep some script settings on server-side instead of localstorage/cookies, because in case of using client-side storages, settings will be reset when user logins from another device/browser.
Bot is a fine solution, but i think, that in this case its overkill.
What do you mean by "script settings"; do you mean user preferences? I don't think a bot would be a great solution to that. Allowing storage of a small amount of JSON metadata for an account-channel combination (excluding guest usernames) is something I can consider (not as part of the profile, though). It's just that sometimes the line is blurry between what CyTube should handle and what anyone wanting to use custom scripts is responsible for handling themselves.
This should be closed and a new issue opened or the title edited to signify the new intent.
This issue has interesting implications for regulations like GDPR since the requested feature would basically permit channels to associate arbitrary information with the user account which is not specified in the privacy policy. Closing since I don't want to handle this in core -- if channels would like to store information about their users, they will have to implement it themselves.
Hey dude. What about to add an additional varchar field to profile which will contains JSON with channels key-value storages, so any channel will be able to keep channel-specific info about user in its own storage. Something like this: http://pastebin.com/AwSUcwsx . And api to communicate with channel's storage via socket.io.