Constructor
# new Workshop(isLowTechSolutionopt, TARolesopt)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
|
Activity.ActivityInfo | |||
isLowTechSolution |
Boolean |
<optional> |
true | |
TARoles |
Collection.<String, Role> |
<optional> |
roles with TA permissions |
Extends
Members
Methods
# async addChannel(channel, userId)
Adds a channel to the activity, ask if it will be for TAs or not.
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user |
userId |
String | user to prompt for channel info |
# protected addDefaultFeatures()
Adds extra workshop features, plus the regular features. Also adds default polls.
# protected addDefaultPolls()
Adds the default polls to the polls list.
# async addTAChannel(name, info) → {Promise.<(TextChannel|VoiceChannel)>}
Creates a channel only available to TAs.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | |
info |
GuildCreateChannelOptions |
Promise.<(TextChannel|VoiceChannel)>
# async archive(archiveCategory)
Archive the activity. Move general text channel to archive category, remove all remaining channels
and remove the category.
Parameters:
Name | Type | Description |
---|---|---|
archiveCategory |
CategoryChannel | the category where the general text channel will be moved to |
# async delete()
Delete all the channels and the category. Remove the workshop from firebase.
# async distributeStamp(channel, userId)
Will let hackers get a stamp for attending the activity.
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user for specified voice channel |
userId |
String | user to prompt for specified voice channel |
# protected getTAChannelPermissions() → {Array.<Activity.RolePermission>}
Returns the perms for a TA Channel
Array.<Activity.RolePermission>
# incomingTicketsHandler(message)
Creates and handles with the emoji reactions on the incoming ticket console embed
Parameters:
Name | Type | Description |
---|---|---|
message |
Message |
# async init() → {Promise.<Activity>}
Initializes the workshop and adds the ta console, ta banter and assistance channel.
Promise.<Activity>
# outgoingTicketHandler(message)
Creates and handles with the emoji reactions on the outgoing ticket console embed
Parameters:
Name | Type | Description |
---|---|---|
message |
Message |
# async removeChannel(channel, userId)
Removes a channel from the activity, the user will decide which. Wont delete channels in the safeChannel map.
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user for specified voice channel |
userId |
String | user to prompt for specified voice channel |
# async roleShuffle(channel, userId)
Shuffles users with a specific role throughout the activity's voice channels
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user for specified voice channel |
userId |
String | user to prompt for specified voice channel |
# async ruleValidation(channel, userId)
Will lock the channels behind an emoji collector.
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user for specified voice channel |
userId |
String | user to prompt for specified voice channel |
# async sendConsoles()
Will send all the consoles the workshop needs to work.
# async sendPoll(type)
Send a poll to the general text channel
Parameters:
Name | Type | Description |
---|---|---|
type |
String | the type of poll to send |
# async voiceCallBack(channel, userId)
Move all users back to a specified voice channel from the activity's voice channels.
Parameters:
Name | Type | Description |
---|---|---|
channel |
TextChannel | channel to prompt user for specified voice channel |
userId |
String | user to prompt for specified voice channel |