MODiX
MODiX copied to clipboard
Proposal: Create Public and/or Private Voice Channels on demand.
Would be a nice if MODiX was able to create some voice channels for discussions or assistance on demand based on a user's role. Based on that role a user would be able to create either a public or a private voice channel and a text channel for notes, and if said channels are private to give the ability to the user to invite/allow some other people in, but maintaining the ability for administrator to join anytime to check if there's anything against ToS.
Start with a list of requirements.
Give the ability for a user to Create a channel for a limited time based on role.
Each role will give the ability for uses to create channels for more time, and some other roles will give the ability of creating private channels. A user may create only one channel at a time until he destroys his previous channel or channel gets timed out.
Upon everyone leaving thiese channels there will be 1 minute countdown until channels will be deleted (could be configurable)
It will need to store in database the voice and text channels that will be created under a user id. Comman names are just there for illustration ofcourse they can be changed. Also it would be nice to be a configuration flag to enable or disable this feature.
User: !createvc
MODiX: Created Voice Channel channelName<#channel_id> and Text Channel channelName<#channel_id> for (time)`
User: !createvc
MODiX: You have already created Voice Channel channelName<#channel_id> and Text Channel channelName<#channel_id> time remaining (time)`
User: !vctimeleft
MODiX: You have (time) remaining.
User: !vcdelete
MODiX: Channels have been deleted.
User: !createvcp or !createvc private
MODiX: Created Voice Channel channelName<#channel_id> and Text Channel channelName<#channel_id> for (time)`
User: !vcallow roleId
MODiX: Allowed all users with Role: <RoleName>`
User: !vcallow userId/username
MODiX: Allowed user <username>`
Moderator: !vclist
MODiX: List of Channels in format:
User: <username#id> - Voice: channelName<#channel_id> - Text: channelName<#channel_id> - Time Left <time>
Moderator: !vcsuspend <userid/username>
MODiX: This user will not be able to create voice/text channels and every channel has created and is active right now has been closed.
An optional feature which needs discussion and consideration would be for MODiX to record every user's voice/video stream and text conversations and store them in the database to help with the ease of moderation in these channels. There would be obviously a disclaimer that users have to agree creating and joining these channels. These data will be inaccessible to moderators unless a report has been filed for a specific channel and these data will exist for 24 hours.
Therefore an interface to be able to playback video/and the multiple audio streams and text conversation will be needed. This is a lot of work.
The !vcallow
and !vcsuspend
commands I would proooooobably ditch, since MODiX already has a permissions system. You should be able to hook that system to have logic that trims active channels when permissions are removed from users/roles. Then again, having these commands as shortcuts into the permissions system might be nice.
No way in HELL are we logging either text or voice recordings in the database. We have explicitly elected NOT to deal with the privacy concerns of storing user data in the past, and we're not going to start now. Plus, we have voice channels and temporary text channels already, and don't do that kind of moderation. At most, maybe temp text channels could be archived, for a short period, instead of immediately deleted. But to me, this seems like a solution looking for a problem.
I'd also like to see a listing of the backend requirements, E.G. what configuration settings do we need and what items are we going to need in the backend data model?
No way in HELL are we logging either text or voice recordings in the database. We have explicitly elected NOT to deal with the privacy concerns of storing user data in the past,
Yeah i figured so that's why it was on the optional side of things. but i thought of mentioning it since Patrick had concerns about moderation, and i figured this would be an easy way of doing it.
Patrick: we create channels based on demand temporal channels are not only hard to moderate they also lose any kind of helpfulness Patrick: it's the opposite of moderating user X is harrassed in temporal channel A, we get a report but it's removed
As far as the data model in the backend and configuration i didn't really think about it, it was all theoritical in my head up to this point.
With privacy in mind i guess we would need a model to store for a user the Active voice channel id and active text channel id as long with the creation date/time.
On the configuration side of things we would need a flag to enable or disable this feature and we would probably need a way to configure relationships between roles and maximum time allowance of a channel creation, and whether a role can create private channels or not. If for example a non moderator can create a private channel !vcallow
will be needed on the permission system so this specific user will be able to "invite" people on his private channel.
Besides that i can't be more specific right now, i never dived so deep into MODiX's source code.
This is an over engineered solution to just adding voice channels to the server.
As part of a new effort to refocus on priorities, I will close this. If you feel this is imperative to the bot, a new issue can be opened to supersede this.