Ability to create private CTFs (b1e9456)
New config option "private_ctfs". When true, new ctfs will be created as
private channels instead of public channels.
Ability to auto-invite all CTF channel members to new challenges(1a087b15)
Override 'auto_invite' config option so as to automatically invite everyone
in the channel to newly created challenges by setting its value to 'True'.
Any value other than "True" for the key will cause it to function as before,
which is to auto invite only the listed members.
Ability to archive only challenges (fff0bdab2)
Set archive_everything to false in the config file and the
!archivectf will archive the challenge channels but not the CTF
channel.
NOTE: The CTF channel will be marked as finished if it hasn't already been.
New commands:
!signup (566b39b62)
!signup will automatically add the caller to an existing CTF
of the same name, along with any challenge channels that currently
exist.
Enabling this command requires creating an "allow_signup" key in the
config and setting it to a truthy value.
CTFs cannot be signed up for if they have been marked finished.
!populate (!gather, !summon) (8a7d77d0d)
Call from either a CTF or a challenge channel.
Take a list of user names and invite each into the CTF channel where the
command has been executed. If the call has been made from a challenge
channel, invite the users into the parent CTF channel for that challenge,
and then invite the users into the challenge channel as well.
In the event that there are no users to be invited, for example because
the users in the list are already present in the channel(s), no API call
to Slack will occur.
NOTE: This started as an admin-only feature but is now generally available.
NOTE: Review and revert 0251853ed to make this command admin only again.
New admin commands:
!join (c0f2db9a)
Allow bot administrators to join any channel by name, even if the channel
is private. Useful for debugging.
NOTE: Bot must be present in the room for this to work.
NOTE: Does not allow joining to private messages, even when the bot is present.
!makectf (cec0d3e95)
Convenience method that sets the channel from which the command is
invoked to be like that of a freshly created CTF channel. Useful when
debugging.
!maintenance (01103f758)
Put the bot into maintenance mode. In maintenance mode, any non-admin
users who attempt to use the bot will get a short message indicating that the
bot is down for service.
NOTE: Admin users will continue to be able to issue commands like normal.
!debug (3f7730f53)
After putting the bot into maintenance mode with !maintenance, a bot admin
may call !debug to break into pdb. Be certain to have a tty on the running
process, else you will probably have to reboot.
New functions
get_channel_by_name() (4a36d1d8e)
Search all available channels for a channel with the given name and
return it.
API Updates
Update AddCTFCommand to handle results of call to conversations API. (b1e94564e)
Switch set_purpose from events to conversations API. (a6048e737)
Implement the conversations API for listing channels. (4a36d1d8e)
Update get_channel_members() to use new slack API. (3c8d7078)
Update !archivectf to use new slack API. (c2413421)
Miscellaneous:
Make category optional when adding challenge (5fc646853)
New features:
archive_everything
to false in the config file and the!archivectf
will archive the challenge channels but not the CTF channel. NOTE: The CTF channel will be marked as finished if it hasn't already been. New commands:!signup
(566b39b62) !signup!populate
(!gather
,!summon
) (8a7d77d0d) Call from either a CTF or a challenge channel. Take a list of user names and invite each into the CTF channel where the command has been executed. If the call has been made from a challenge channel, invite the users into the parent CTF channel for that challenge, and then invite the users into the challenge channel as well. In the event that there are no users to be invited, for example because the users in the list are already present in the channel(s), no API call to Slack will occur. NOTE: This started as an admin-only feature but is now generally available. NOTE: Review and revert0251853ed
to make this command admin only again. New admin commands:!join
(c0f2db9a) Allow bot administrators to join any channel by name, even if the channel is private. Useful for debugging. NOTE: Bot must be present in the room for this to work. NOTE: Does not allow joining to private messages, even when the bot is present.!makectf
(cec0d3e95) Convenience method that sets the channel from which the command is invoked to be like that of a freshly created CTF channel. Useful when debugging.!maintenance
(01103f758) Put the bot into maintenance mode. In maintenance mode, any non-admin users who attempt to use the bot will get a short message indicating that the bot is down for service.NOTE: Admin users will continue to be able to issue commands like normal.
!debug
(3f7730f53) After putting the bot into maintenance mode with !maintenance, a bot admin may call !debug to break into pdb. Be certain to have a tty on the running process, else you will probably have to reboot. New functionsget_channel_by_name()
(4a36d1d8e) Search all available channels for a channel with the given name and return it. API Updatesset_purpose
from events to conversations API. (a6048e737)!archivectf
to use new slack API. (c2413421) Miscellaneous:set_config_option
mangling file indentation (f2394ed1a)!archive
and!archivectf
(c24134213)!add
an alias of!addchallenge
(3ff51e79)