A heavy breakdown on the JTC Plugin (lots of scrolling here, check the sidebar!)
This configuration takes place in the /configuration/join_to_create.json file!
You might need Discord Developer Mode on to get ID's and such!
Key words:
Boolean: A true or false switch
String: An assortment of "text" or "numbers" like this
Numbers: Just numbers!
Array: Strings or Numbers["in", "a", "pattern", "like", "this"]
Welcome!
Here we'll go over the Join to Create Plugin setup in its entirety, with brief (or not so brief!) explanations and descriptions on things.
I made sure to separate everything the best possible so that the sidebar has a quick reference to what you're looking for.
Feedback is welcome!
If you think something is missing, or needs a bit more work, then make sure to leave us a note at our support server!
JTC Channel Creation Tutorial
An imaginary example will be used, that way it's easier to follow along!
All IDs, Channels, and Config names are imaginary.
Let's go through the process of creating two JTC voice channels, one for Rainbow Six and the other for Overwatch 2!
Select an Origin Channel
First of all, we wanna set a voice channel where the JTC voice channels will be created from! This can be anything you want it to be, since it's a String, but since it's a Discord ID, it should just be numbers. We want two different origin channels so we can create the categories separately from each other! R6's will be 1234567890 (shown) and OW2's will be 0987654321 (assumed).
Origin Channel Config Example
// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id: "1234567890",
Select a Destination Category
Then we add the category ID of where we want the Temp Voice Channel to go to, the origin channel's category and the destination category category IDs don't have to be the same! In this case, we can just make the game channels in the same Gaming category, so the IDs can stay the same. Our Gaming category is 123123123.
Destination Category Config Example
// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id: "123123123",
Set a Settings ID
So the Join to Create plugin knows what to create, you have to assign it a Settings ID. Each Join to Create channel will have its own configuration in terms of what it's named, how many people can join it, etc. In this situation, we're making our R6 settings ID, but we can rename it to whatever we want to! OW2 will follow the same concept (we can assume that one will be called overwatch_two). But we'll get to that, for now, it should look like this:
Settings ID Config Example
// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id: "rainbow_six",
Checkpoint!đŠ
You set up your first Join to Create channel, and any further Join to Create channels can be created the same way. Once you get used to how the system works, your file can be even made smaller without the comments attached to each category! But overall, your config should look something like the below example. Once you get used to how it's formatted, you'll be able to make the new categories without all the comments in between. We've still got some work to do though!
Checkpoint ConfigđŠ
config: {// Configuration option "temporary_channels" defines which voice// channels are used to create temporary voice channels within// a specified category.temporary_channels: [ {// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id:"1234567890",// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id:"123123123",// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id:"rainbow_six", }, ],
JTC Settings Tutorial
What's this for?
This is an assortment of configurations for a specific Join to Create system to work with. Let's say you wanted to make a set of settings for, let's say, a Rainbow Six Siege Temp Channel, and another one for Overwatch 2, you can do that, which we started last section!
Where do I start?
IDs cannot have spaces! This will break the plugin!
Please use _ instead of spaces: eg. "settings_id" instead of "Settings ID"
If you noticed, we went over that section called Settings ID. This is what will let us separate one kind of channel from another, so let's take advantage of that fact!
How do I configure them?
So far, with the addition of our Overwatch 2 channel, our config should look like this! After this point, we're going to delve into actually customizing the channels and how they behave.
Temporary Channels Config Example
temporary_channels: [ {// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id:"CHANNEL ID HERE",//R6 Channel Creator// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id:"CATEGORY ID HERE",//R6 Creator Category// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id:"rainbow_six",// R6 Settings Config }, {// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id:"CHANNEL ID HERE",//OW2 Channel Creator// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id:"CATEGORY ID HERE",//OW2 Creator Category// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id:"overwatch_two",// OW2 Settings Config }, ],
For the sake of time, I'll only be doing our R6 channel, we can assume we're working on the OW2 channel afterwards.
We can get started by naming the channel that gets created by this config:
Channel Naming Config Example
// The name of the temporary voice channel (String)// Available Placeholder: %user%channel_name: "%user%'s R6S Team",
If we wanted to only allow 5 people in both channels, which is the normal team size for R6 and OW2, we can do that by editing the User Limit Number:
User Limit Config Example
// Limits how many users can join the voice channel.// This configuration option accepts any number between// 0 and 99. Set to 0 to disable this limit (Number)user_limit: 5,
If we wanted to control who went into the channel at any given time, we can lock the channel so no one else can join unprompted, let's say, you wanted to create a ranked channel:
Channel Lock Config Example
// Whether the voice channel is locked by default.// Noone than the owner would be able to join (Boolean)locked: true,
Maybe we don't want people to see both channels either, well we can configure that! Let's just make it hidden from people:
Channel Visibility Config Example
// Whether the voice channel is hidden by default.// Noone than the owner would be able to see the // channel (Boolean)hidden: true,
Perhaps we want people with just a verified role to be able to see the channel by default, we can set it up by using a verified role and adding it to the config file:
Permitted Role Config Example
// This configuration option defines who can see the
// channel by default. If the following role id is
// invalid the base_permission_role is set to the
// @everyone role, so everyone can join and see
// the channel. If your Discord offers a member or
// verified role set this option to that role (String)
base_permission_role: "1122334455",
And last but not least, maybe we don't want specific roles joining the channel at all, we can set that up here too:
Blacklisted Roles Config Example
// Anyone who inherits one of these roles cannot join// this temporary voice channel by default. This// configuration option requires role ids (Array)blacklisted_roles: [ "5544332211" ],
And presto! We got our two Temp Voice channels, fully set up how we wanted it, and to make the Overwatch 2 channel, we can just copy the same details and make minor alterations. But for now, this is what our completed configuration looks like!
Completed Configđ
{"config": {// Configuration option "temporary_channels" defines which voice// channels are used to create temporary voice channels within// a specified category.temporary_channels: [ {// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id:"1234567890",// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id:"123123123",// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id:"rainbow_six", }, {// Voice channel id of the channel you must join to create// a temporary voice channel within the category specified// one line below (String)voice_channel_id:"0987654321",// Category id of the category within the temporary channel// will be created whenever someone joins the channel// specified above (String)category_id:"123123123",// Settings id. The settings that belong to the specified// id must be configured below in this configuration file.// These settings are applied to each voice channel of this// type when they are being generated (String)settings_id:"overwatch_two", }, ],// Within this configuration option any settings specified above // must be configured. If you would like to configure more than// one set of settings follow following format://// settings: {// "<setting_set_id_number_1>": {// channel_name: ...// ...// },// "<setting_set_id_number_2>": {// ...// },// }////VC Creator Channel"settings": {// Setting id// Rainbow Six"rainbow_six": {// The name of the temporary voice channel (String)// Available Placeholder: %user%"channel_name":"%user%'s R6S Team",// Limits how many users can join the voice channel.// This configuration option accepts any number between// 0 and 99. Set to 0 to disable this limit (Number)"user_limit": 5,// Whether the voice channel is locked by default.// Noone than the owner would be able to join (Boolean)"locked":true,// Whether the voice channel is hidden by default.// Noone than the owner would be able to see the // channel (Boolean)"hidden":true,// This configuration option defines who can see the// channel by default. If the following role id is// invalid the base_permission_role is set to the// @everyone role, so everyone can join and see// the channel. If your Discord offers a member or// verified role set this option to that role (String)"base_permission_role":"1122334455",// Anyone who inherits one of these roles cannot join// this temporary voice channel by default. This// configuration option requires role ids (Array)"blacklisted_roles": ["5544332211"] },// Overwatch 2"overwatch_two": {// The name of the temporary voice channel (String)// Available Placeholder: %user%"channel_name":"%user%'s OW2 Team",// Limits how many users can join the voice channel.// This configuration option accepts any number between// 0 and 99. Set to 0 to disable this limit (Number)"user_limit": 5,// Whether the voice channel is locked by default.// Noone than the owner would be able to join (Boolean)"locked":true,// Whether the voice channel is hidden by default.// Noone than the owner would be able to see the // channel (Boolean)"hidden":true,// This configuration option defines who can see the// channel by default. If the following role id is// invalid the base_permission_role is set to the// @everyone role, so everyone can join and see// the channel. If your Discord offers a member or// verified role set this option to that role (String)"base_permission_role":"1122334455",// Anyone who inherits one of these roles cannot join// this temporary voice channel by default. This// configuration option requires role ids (Array)"blacklisted_roles": ["5544332211"] } } }}
Congrats!đ
You're all done here! Now you can move onto other plugins and see how they work!