All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Track timestamp of last reddit post processed before sending to mod chat (credit: @crhopkins)
- Add missing backslash in unescaped heading string (credit: @MurdoMaclachlan)
- Odd error with PRAW necessitates a core library upgrade
- Hotfix for private subreddits
- Fixes bug introduced by Reddit where bot cannot post on other subs, thus cross-posting capability was removed
- Fixes args used in CLI invocation, making testing if it is installed correctly work more smoothly
- Includes flair for "topaz" and "jade" levels
- Update logging to note the current transcription number and minor testing config changes
- Minor typos in bot messages
- Removes heartbeat server
- Adds type annotations to method signatures
- Removes a metric crap-ton of dead code
- Clarifies the logic of what the bot is doing and why, using more semantic names of methods
- Tightens some overly broad interfaces (Only default value of a keyword arg is used? Buh-bye keyword arg, you're now permanently set that way!)
- Uses flake8, mypy, and pytest as part of CI execution
- Replaces Travis CI with GitHub Actions
- Fixes bug in build system (Poetry) where command is not generated
- Skip mod flags that (somehow) come back as
null
, because obviously human intervention is needed (credit @thelonelyghost) - Add link to tutorial for first transcriptions (credit @Pf441)
- Mentions donation option in (successful) response to
done
(credit @thelonelyghost)
- Replaces
setup.py
with Poetry tooling for development and packaging ease - Fixes no-author condition if the mods message the bot
- Adds
cancel
as an alias forunclaim
for user directives to the bot - Makes inbox triage less English-language dependent
- Offloads more work to Redis instead of Python
- Adds missing
package_data
manifest tosetup.py
so it will actually be included when packaging the module (credit @thelonelyghost)
- Fixes typo in capitalization of one of the user-facing messages
- Fixes flair colors to level up at (e.g.) 50, not 51 (#96)
- Extend check for transcription in the right place to handle New Reddit editor (credit @itsthejoker)
- Fixes packaging of python module to include data files and up-to-date methods (credit @thelonelyghost)
- Add replies to DMs (credit: @davidarchibald)
- Fixes history check on users who have submissions stickied to their profile (credit @arfie)
- Fixes youtube auto-transcription attempts erroring out when unable to detect the video id (credit @thelonelyghost)
- Adds clearer indicator for post type to rules comment (credit @itsthejoker)
- Fixes #102, adding better guidance for first-time transcribers
- Allows CLI flags like
--help
,--version
,--debug
, and--noop
ontor-moderator
- Removes remaining references to RocketChat
- Fixes typo in YAML dict name
- Adds more context to Bugsnag events
- Corrects version reported to Bugsnag to be
tor
's, nottor.core
's
- Removes Sentry client and dependency
- Replaces strings.py references with YAML
- Adds No Operation (NOOP) mode
- Merges in
tor_core
astor.core
(Fixes #150) - Uses
tox
as the default testing mechanism (easier CI and enforces virtualenv sandbox testing)
- FIX:
Reddit.user.me
is a method not a property, resulting in stack traces on every attempt to run the bot
- HOTFIX release:
- Makes the (protected) bot names an environment variable we can override in case usernames need to suddenly change
- Add reference to the currently running bot's username, as determined by Reddit's API
- Add handling for
unclaim
comments (credit: @itsthejoker)
- Add check to verify the transcription goes to the right place (credit: @itsthejoker)
- Allow dibs to claim a post (credit: @davidarchibald)
- Update Slack messages to include direct links (credit: @pejmanpoh)
- Remove check for incomplete posts (credit: @itsthejoker)
- Add threaded model to update the process of checking for new content (credit: @itsthejoker)
- Move volunteer notifications to their own channel (credit: @itsthejoker)
- Update detection of flair (credit: @itsthejoker)
- Add system to use history of volunteer to validate posts if comment is autoremoved (credit: @itsthejoker)
- Send inbox messages to Slack if they don't match any of the commands (credit: @arfie)
- Send message to Slack on phrases that may need mod intervention (credit: @thelonelyghost)
- Allow blacklisting of people (credit: @perryprog)
- Add new command system (credit: @perryprog)
- Use the same colors for subreddit flairs as on Discord, depending on number of completed transcriptions (credit: @itsthejoker)
- Send message to Slack when flairing a post as Meta (credit: @arfie)
- Handles common typo
deno
asdone
(credit: @itsthejoker)
- Enable alternate validation method to get around spam filter nuking posts (credit: @itsthejoker)
- Update inbox handler to increase handling speed
- Update inbox handler to increase legibility and modularity
- Guard every comment reply in case it gets deleted
- Prunes unneeded dependencies from before tor_core extraction
- Defers bot reference in
praw.ini
and whether in debug mode from environment variables (credit: @thelonelyghost)
- Minor bug fix, the bot would reply that the config was reloaded when it really wasn't
- Now processing inbox messages in the correct order
- Adds support for pulling all submissions from specific subreddits
- Handle top-level post replies the same as comment replies
- Removes ability to summon across Reddit
- Adds ability to PM users with stock message
- Updates Slack notification messages
- Fixes bug with parsing messages from Reddit itself
- Adds Travis CI support, enforcing support for python 3.6
- Updates docs for
pip install
using a git url - Adds CLI tool
tor-moderator
to PATH (instead ofpython tor/main.py
) - Splits to multiple requirements.txt files, depending on usage
python setup.py test
defers to PyTest as the framework- Initial attempts at automated test support
- Moves parts of
tor.strings
intotor_core
- Moves flair flair helpers into
tor_core
- Post title is truncated if longer than 250 characters
- Better method dependency tracking (e.g., passing
config.r
instead of wholeconfig
)
- Updates PRAW (Reddit API) library: v4.4.0 -> v5.0.1
- Extracts major parts of
tor.core
intotor_core
- Moves
tor-archivist
bot toToR_Archivist
- Moves
tor-apprentice
bot toToR_OCR
- Reverts dependency management change (pass entire
config
object again) - Disable self-update directive to bot (does not yet work)
- Adds directive 'ping' to check if bot is alive
- Adds 'Meta' flair for posts by author who isn't a mod or known bot
- Rewrite
tor-moderator
to use bot framework intor_core
- Rule change to have user transcript require footer instead of header
- Modify date logic and fix config loading for archivist bot
- adds css_flair dict for easier interaction with css (credit: @itsthejoker)
- Adds
setup.py
for pip packaging - Fixes linting errors
- Removes imports and non-essential, mutating functions from
tor/__init__.py
- Adds automated testing, starting with configuration object
- Significant rewording of
README.md
for clarity - Add
bin/run
as user-friendly editing for task runner (see.git/safe/../../bin
PATH protocol) - Basics for a bot automatically removing and archiving old posts (credit: @arfie)
- Updated
README.md
with information on u/ToR_archivist (credit: @arfie)
- Started logging changes into CHANGELOG.md
- [Some changes before this point may not be included]