Temp voice channels (Mumble style)


#1

As a fork of the request made by @Z3R0_G.

There is a bot out there that adds the ability to create temp voice chat channels. Functionality allows for a permission system and auto deletion of the channel after it is left empty for a duration.

This bot, or the functionality we can pull from it, would allow us to bring back a portion of the old Mumble server functionality of temporary user channels. It would also allow us to have static channels like the lobby and music room while cutting down on the un-used channels.

Aside from the temp status of the room it also has the ability to:

  • Auto Create a room when enough people are playing the same game.

This could be a cool feature and, if we added maybe a notification to discord, could inspire more people to group together.


Usage: /config [action] [key] [value]
Actions:  get, set, add, remove
  * Array properties require add or remove
Keys:
  - commandPrefix [String]: The character used to denote a command. Typically /, !, or $. Default: /
  - autoCreateByGame [true/false]: Whether to create channels when enough people are playing the same game. Default: true
  - autoCreateByGameCommon [Integer]: Minimum # of people playing the same game before creating a channel. Default: 4
  - autoCreateByGameRoles [Array<Role Name>]: Limit the detected people for game-channel creation to specific roles
  - exemptAutoCreateGames [Array<String>]: List of game names that I won't create channels for automatically
  - tempChannelTimeout [Integer]: Number of seconds to wait before deleting an empty temporary channel. Default: 30
  - tempChannelNameFlag [String]: What to add to a temporary channel name to signify it is temporary. Default: :bomb:
  - tempChannelFlagLocation [String]: Where to put the flag, either start or end. Default: end
  - permission.create [Array<Role Name>]: Who can run the create command. Administrators always can.
  - permission.config [Array<Role Name>]: Who can run the config command. Administrators always can.
  - tempChannelPermissions [Name of another channel]: Copy the permissions of another channel for temporary channels. The channel can be deleted afterwards
Examples:
  - /config set autoCreateByGame false
  - /config get tempChannelNameFlag
  - /config add permissions.create SuperAdministratorSquad
  - /config set tempChannelPermissions Temp permission channel

Taken from it’s git repo.

and if we want to use it without hosting it ourselves:


#2

Super-voted; I am all for this! :auth:


#3

#4

Voted. The premade bot seems fine although we would have to give it permission to create and edit channels I guess.


#5

I think a premade bot makes perfect sense in the short term, but I’d love to see this as an included feature with StratsBot :wink:


#6

Sounds like a good plan. Let’s test it with the premade and see how we like it and we will roll our own if it works well.

EDIT: Ok, it’s now all up in our Discord.


#7

Extra :heart: since I’d liked the post pre-edit :wink:


#9

Issue right off the bat with it:

setKey(gid, key,value) {
    this.config.entries[gid].setValue(key, value);
    return "**" + key + "** set to `" + (value/1000) + "`";
}

within line 214 of “/cmds/config.js”

causes:

BOTImpromp2: tempChannelNameFlag set to NaN

for every config change.

No clue what I am doing on this but I did:

setKey(gid, key,value) {
    this.config.entries[gid].setValue(key, value);
    if value.constructor === Number {
        return "**" + key + "** set to `" + (value/1000) + "`";
    } else {
         return "**" + key + "** set to `" + (value) + "`";
    }
}

So, the command prfix can be changed to anything. I saw you put a command change to:

$config set commandPrefix "!"

meaning the commandPrefix is now:

"!"


#10

The bot uses discord.io, do we have any other strats bots that use that?


#11

With @GuardianX’s help, I fixed all the config settings for the bot. It should work now and create a new voice channel when 2 or more people are playing the same game.


#12