seneca-cdot / osteppy Goto Github PK
View Code? Open in Web Editor NEWHandles EOD slash commands and sends EOD reminders
Handles EOD slash commands and sends EOD reminders
Fix:
index b50b4ed..23b37f7 100644
--- a/development.yml
+++ b/development.yml
@@ -5,7 +5,7 @@ services:
ports:
- 127.0.0.1:27017:27017
- mongo_express:
+ mongo_express:
image: mongo-express:latest
environment:
- ME_CONFIG_OPTIONS_EDITORTHEME=default
Osteppy should send PR reminders at 10AM on weekdays.
Can be accomplished either by using Docker volumes/bind-mounts or MongoDB/Postgres containers.
Add emoji support to EODs.
Eg. If an emoji is added to the beginning of an EOD, it replaces the flag.
Also, a slash command to change preset default emojis for themselves.
Add husky and lint-staged to run eslint and prettier in pre-commit hook.
Add prettier as an extension to eslint.
This ensures committed code is free of syntax errors and format inconsistencies.
/eods_left slash command should read the current users (sleepy RA's) who haven't submitted their EOD's.
So /eods_left need to read the sleepyRAs.txt file.
This bug only occurs when the sleepyRAs.txt is manually edited.
EODReminder.js' sendNextReminder loops through every RA and their reminders twice.
Instead, it should push reminders to the nextReminders array in the first loop and reset the array if a
"sooner" reminder is found.
When deciding whether to send EOD reminders, Osteppy doesn't currently know about holidays or college closures and will send reminders even on stat holidays or other times when the college is closed.
We should teach Osteppy about holidays to avoid sending reminders unnecessarily, possibly along with an override to always send reminders.
Osteppy needs a single installation script which also detects which OS the system is on.
Slack users should be able to:
Create commands to add/remove EOD tasks to a temporary list, and (automatically?) submit them at the end of day.
This is needed for datetime-related features, for example currently EODs are not stored at the end of the day because of the wrong time zone.
There are two approaches:
.env
This prevents updating from domains.json
file.
During installation, there maybe config-files missing. Instead of errors, the necessary config-files should be created.
Config-files used:
If a new user adds an EOD reminder, their slack username should be added to RAs.txt and return an error message to add their channelID to Osteppy/config-files/channelID.json.
Add a slash command for adding channelIDs.
Slash commands such as /add_eod_reminder should print user friendly formatted messages.
Eg. You've added this EOD reminder at 9:30PM for Monday's, Tuesday's, and Thursday's: "It's 9:30PM sleepy head, time to do your EOD!"
/eod slash command should have today's date in the title (today as in before 10AM).
Maybe add a /eod_past for people who need to submit eod's for previous days.
Readme needs instructions on setting up a Slackbot for EOD slash commands and EOD reminders.
Delete legacy/
as it is not needed. It will remain in git's history.
The osteppy.service should restart each time EOD-reminder-times.json is updated.
Latest tag (v1.0.0-alpha) seems not to work (checked on spain
), however v0.54 works.
Suggestion: stick with v0.54 until latest tag goes RC.
Possibly related / dependent on #12, but I think it would be interesting to enhance the /eod
endpoint (or add an additional endpoint?) so that the EOD workflow can be accessed through other tools in addition to Slack slash-commands.
My current EOD workflow looks like this:
#general
at end-of-daypbcopy
) the contents of my task log/eod
into #generalInstead, it would be great if we could submit a (JSON-formatted?) payload to /eod
, bypassing Slack entirely, and still have EODs get posted to #general
by Osteppy.
Currently, /eod
requires a response_url
so that Osteppy knows where to send the EOD on behalf of the user:
which is the only part of the payload to /eod
that is Slack-only and can't be replicated by other tools without first sniffing the response_url
from a Slack slash-command invocation.
RA names and EOD reminder times should be kept in a config folder. Config folder contents are added to the .gitignore except for the .gitkeep.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.