diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/IDEAS.md b/docs/IDEAS.md index 808de09..b1e242b 100644 --- a/docs/IDEAS.md +++ b/docs/IDEAS.md @@ -5,11 +5,6 @@ To ensure that points are only awarded for the first comment marked as a solution: -* Alter the database to allow for tracking of each submission and the first - comment marked as the solution. Then, everytime a new solution comment is - detected, simply check the database to see if the submission is already - counted. This will avoid unnecessary calls to Reddit, which would include - scanning all the submission comments each time. * This approach could also make it simpler to check whether a solution comment has been edited. Instead of having to do a daily search for edits, it could just check the original solution comment to ensure that it still contains diff --git a/docs/TODO.md b/docs/TODO.md index 6e65444..ab48329 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1,13 +1,22 @@ # TODO +File-specific lists are in loose descending order of priority. + ## Current +n/a + ## General * [ ] Logging + * Especially when unable to handle a comment +* [ ] Notifications + * Let admins know if a comment can't be properly handled + * Email preferable; could do Reddit message, too + * Maybe have both and make into a config option * [ ] Testing - Any PRAW model that inherits from `praw.PRAWBase` has a `parse` method - that could perhaps be used to make fake objects for testing. + that could perhaps be used to make fake objects for testing * [ ] GUI - [ ] Create a GUI for configuring and running the bot, and performing other jobs like adding or subtracting points for specific redditors @@ -43,6 +52,9 @@ ### bot.py +* [ ] Now that the date of each solution is being stored, can check for missed + submissions each time the bot is run by searching subreddit history until + last solution found * [ ] Allow mods and/or bot owner to add or remove points from specific users * [ ] Make the algorithm for determining the problem solver more sophisticated - e.g. check entire comment tree instead of just ignoring if the OP also @@ -53,16 +65,19 @@ ### config.py +* [ ] Add list of emails to which notifications should be sent * [ ] Switch from `toml` package to `tomlkit` package - Preserves style, comments, etc. ### database.py -* [ ] Store date for each "!solved" comment - - This basically means storing a link to each "![Ss]olved" comment, and - perhaps a link to the submission, although that can be derived as long - as the comment doesn't get deleted +* [ ] For each solved submission, store: + - submission id + - solution comment id + - solved comment id + - date + - solver id * [ ] Possibly refactor for a datastore type thing instead of database - Maybe even make models like Redditor to combine data storage/access with logic, e.g. determining current level - + - Seems like overkill, though