Changelog

Updates to the bot as the versions progress

All Releases | All Tags

v1.0.x

  • Coming soon: Google Sheets support for setup teacher and setup parent

Latest Release: Spring Classes 2021 Bot

Removed Commands

  • course

Command Updates & Fixes

  • Update setup DM messages

  • repo command now supports sending the ML and Tier Projects GitHub repositories

  • Update classinfo command to work with Google Sheets functionality

Under the Hood Changes

  • Add Google Sheets functionality for student setup #19 , #20 (they're essentially the same PR)

    • Add StudTeachSheet class to cft.py which represents data about the student-teacher matching Google Sheet

  • Update meeting reminders to account for all team meetings and department meetings

  • Add Series class to cft.py which represents data about the current class series (e.g. the Spring 2021 series)

New Commands

  • passwords command sends the link to the passwords document

  • attendance command sends the link to the attendance spreadsheet

Command Fixes & Updates

  • Fix onboard command so it sends the correct link to onboarding website

  • Add ML as a valid course name for user setup

  • Update thinkific command

    • Add ML as a valid course name for the thinkific command

    • Fix bug where only the first word in the course argument was parsed

  • help commands

    • Using help by itself now displays a list of cogs and their help commands

    • Using help <cog_name> now displays a list of commands in that cog

    • Using help <cmd_name> now displays a notice at the top explaining < > and [ ] should not be included when using the command

  • setup name command no longer autocapitalizes and will change the nickname of the user to exactly what is passed as the name argument

Under the Hood Changes

  • Add docstrings to cog classes (this is because by default the cog's description attribute is its docstring; the cog's description attribute is then used in the help command)

  • Update Bot to work with C4T Classes Discord server (refactor references to C4T Teachers or C4T Students servers)

    • Refactor names of checks (e.g. is_students_server() is now is_classes_server())

  • Bump discord.py package version to v1.6 and add all Intents to the bot

  • Change how Enoch handles unverified users

    • Instead of giving the Unverified role to all users upon joining the server, Enoch will not do anything

    • At 12 PM PST, Enoch will warn all users with only the @everyone role

    • At 12 AM PST, Enoch will kick all users with only the @everyone role

    • This is so that the C4T servers can take advantage of the new rules screening feature on Discord

v0.1.x

Under the Hood Changes

  • Update links, emails for Google Workspace

Command Changes

  • folder

    • Add more aliases: shared_drive, shareddrive, sdrive, google_drive, googledrive, gdrive

    • Add "administrative" as a valid folder name

  • setup addproj

    • HTML/CSS/JS is no longer a valid project name (renamed to Web Development)

    • Web Development now is called Website Design

    • This is to clarify the difference between the Web Dev curriculum development team and the C4T website team

New Commands

  • emails - sends various C4T email addresses

Under the Hood Changes

  • d7ec3b2 Change server command to not send the deprecated C4T Teachers Discord invite link

  • Bug fixes

    • 402e6d4 Fix server command to access links properly

    • 6b2a43c Fix bug in setup done command where C4T role was not given upon setup completion

    • b62f426 Fix bug affecting adding project roles

    • 872b478 Fix bug where COCO role couldn't be added

Under the Hood Changes

  • Update C4T knowledge base links

New Commands

  • linkedin - sends the C4T LinkedIn link

  • docs - sends the C4T Knowledge Base

  • onboard - sends the C4T Onboarding site

  • bylaws - sends the C4T Bylaws link

  • edocs - sends the Enoch Bot documentation link

  • Add all team meeting reminders

  • Fix setup for Volunteer Management

  • Add setup done command

Release: Fall Classes 2020 Bot

Enoch Bot is now being used live on C4T servers! 🎉

New Commands

  • #13

    • classinfo <code> - sends information about a class (e.g. course, times, days, meeting links) if the user has that class role or is an administrator

    • directory - sends a link to the C4T directory

  • #15

    • setup member <dept> - sets up a C4T member on the Code 4 Tomorrow server by adding their primary department role

    • setup addproj <project> - adds a project role to a user

Major Under the Hood Changes

  • Add GitBook docs under ./docs/

  • Hardcode class data

  • 123394e Add Enoch Dev Bot functionality to let developers run experimental Enoch commands while the original Enoch bot works

  • 8755df7 Update name of the Enoch test server to Enoch Developers

  • #14 Merge check_unverified and kick_unverified into single, generalized handle_unverified function

  • Rename references to "subteam" to "member" to accommodate new organizational model

Fixes

  • b45fea8 Fix error message when setup teacher used in the wrong server

  • e197177 Fix unverified job times (accidentally switched 12 AM and 12 PM PT)

  • 2b0306b Fix setup name capitalization bug where hyphenated names weren't capitalized properly

TODOs

v0.0.x

Pre-release: Setup Subcommands

Bot Updates

  • Added checks to commands to restrict their access to trusted parties #3

    • slap command was removed

  • Added setup subcommands #5

    • diagnose command works now and has expanded functionality

    • New course command for setting up teachers on C4T Teachers server

    • New setup name command for changing nickname during server setup

    • help command now shows subcommands

Under the Hood

  • Update function/command docstrings

  • Stopped using JSON files because of flake8 warnings when using * import (see also: #2 )

  • Hardcoded class/student/teacher/parent data because there wasn't enough time to learn the Google Sheets API before classes began #4

  • GitHub workflows now only trigger on pull requests because having PRs and push triggers is redundant #5

  • Fix multi-line string concatenation #5

  • Fix style

  • Use black and flake8 workflows

  • Add welcome instructions scheduler jobs

  • Refactor C4T info variables

  • Organize directory structure

Pre-release: Enoch is *actually* (hopefully) working now

Major feature changes

  • Fixed setup command so that the bot doesn't need to be restarted/readded

    • setup command will now remove the Unverified role from the user if they completed 100% of the setup

    • setup command will now also send a user a "Setup Complete!" DM if they completed 100% of the setup (no errors)

    • setup command will now send a user a DM for each class they specified in the command, which contains class info (basically the attributes of each Class object)

  • Added on_member_join event so that custom C4T welcome DM is sent to a user who just joined the server

Major under the hood changes

  • Added Class class to make retrieving class info easier

  • Started breaking up the setup function into helper functions to reduce complexity

  • Started using .json files for links and class info instead of .py files

  • Separated the Default cog into 2 cogs: Links and Utility

  • Finish tutorial part 14 - custom help command, add basic C4T setup functionality

Pre-release: Enoch bot is actually working now

  • Added an enoch (hidden) command to the Fun cog

  • Added a "Playing Game" status for the bot to display the help command

Pre-release: Enoch Bot Beta

  • Enoch bot is here! See features in #1.

  • Finish tutorial Part 11 - command specific error handling

  • Finish tutorial Part 10 - introduction to commands

  • Finish tutorial Part 9 - introduction to cogs

  • Finish tutorial Part 8 - scheduling tasks

  • Finish tutorial Part 7 - handling errors

  • Finish tutorial Part 6 - sending messages, embeds

  • Finish tutorial Part 5 - making the bot run

Last updated