r/ContextModBot

27 archived posts · Jun 2021 – May 2024

Random post

u/FoxxMD•

What is ContextModBot?

u/ContextModBot a bot running context-mod (CM), a general-use bot framework with a focus on providing user-history based moderation tools.

So is this a Bot or is it code?

u/ContextModBot is the first bot running on CM code. The code running it is open-source and designed to be deployed and run by users with minimal experience. This subreddit is here to provide support for end-users and supplement issue tracking for the code on github.

What can CM do/what makes it different?

CM aims to provide automod-like functionality for *history (context) aware

71



u/FoxxMD•

My ContextMod instance is now temporarily down due to unacknowledged API issues reddit is dealing with site-wide.

As a general PSA: there have not been any recent changes to CM or its behavior. Everything was operating normally until yesterday morning when reddit started returning 403's (see the linked thread).

I believe any issues related to the bot slamming the API are related to

33

u/FoxxMD•

Release 0.7.0 restructures ContextMod to use a client-server architecture to enable #webscale buzzwords.

New

  • Rewrote high-level architecture to use client-server model
    • Enables connecting to/administering many CM instances from one CM web client
    • Enables oauth bot authentication location (url) to be independent of bot instance running location (api)
  • Bot oauth uses invite link flow universally to facilitate non-authenticated flow completion (for both mods/operators)
  • Implement multiple bots (reddit accounts) running on one CM server

Changed

  • Config view now renders monaco-editor with schema validation built-
30

u/MeIsALaugher•

Is your Introduction to ContextModBot outdated? It says:

/u/ContextModBot is currently in a "maintenance" mode due to time commitments on my part. It is still operating and receiving updates but is not currently taking on new subreddits.

Can I invite it as a mod and set it up?

22

u/FoxxMD•

Release 0.12.0 contains some, big new features for moderators and operators.

Guest Access

Guest Access allows moderators of a subreddit to specify any reddit user that may access their Subreddit's dashboard and configuration as if they were a moderator. This enables moderators to share temporary access to non-moderators and allows these guests to view and edit their subreddit's configuration. Editing is done via the bot and the guest who edited is noted in the wiki page edit reason.

  • Only moderators (not operators) are allowed to add/modify guests
    • Access has a built-in expiration date that can be specified on
20

u/FoxxMD•

Version 0.11.0 is the largest update to ContextMod to date! It brings many, many improvements to ContextMod's backend and internals including database support for persisted data and event auditing.

On the moderator/subreddit side of things there is new functionality:

  • Named Filters bring the same reusable functionality of Rules/Actions to authorIs and itemIs -- now you can name your filters once and reference them anywhere!
  • All window prop
20

What I mean is when looking at someone's profile and there's a month or two with no activity at all when they've essentially been on a hiatus from reddit.

From my experience on reddit there are three reasons for this sort of gap,

  1. genuine break from using reddit
  2. removal of personal info that was previously posted (eg. posts made in NSFW subs)
  3. spam/scam trying to cover their tracks

​

I know CM can check if they've been active in specific subs like freekarma, but can it do a sitewide activity check?

26

u/FoxxMD•

This releasefeatures a revamped color palette for the UI focusing on color contrast between layout elements and text in order to improve the experience for users with colorblindness.

The Breaking Change and version bump are solely due to the removal of light/dark theme -- the dark theme is now the only (and default) theme to reduce maintenance requirements.

Features

  • (attribution) Add additional subreddit and activity filtering functionality to criteria
  • (author) Implement author profile description regex/string testing
  • (ui) Add lang attribute for html #35
  • (ui) Add tooltip descriptions for depleted/limit res
20

u/FoxxMD•

Lots of updates since last post here! A combined list of changes/updates since 0.7.0...See releases for a full list

​

  • Image Comparisons for comparing image content on activities (detect image reposts, duplicates)
  • All historical stats and actioned events history can be persisted to cache
  • Load configs into built-in editor via URL
  • Filter activities by subreddit state (name regex, nsfw, quarantined, etc...)
  • More criteria for activity state filtering (karma, report count, age)
  • Many QOL improvements for UI
  • Many fixes/performance improvements
20

u/FoxxMD•

Changelog

New

  • Add more cache statistics to web interface
    • averages for hits per key and hit interval

Changed

  • Rewrite how log data from socket events (live) is added to the DOM to improve performance for high volume logs
    • Actually enforce the log limit selected on the web interface during live streaming so the page doesn't get h u g e
  • Fix issue with parsing dryRun from cli args
  • Fix bug when determining shared cached key count
  • Remove named capture groups from age regex in schema to prevent errors in live editors and on validation
20

u/0ldfart•

Thanks for creating and supporting this project.

I am having a bit of trouble with initial config.

Goal:

Bot checks any activity in subreddit against activity in blacklist of subreddits.

If submission or post originates from account with activity in blacklist, remove.

I took the FreeKarma recipe, and modified it, but I suck at any kind of code and have messed it up somewhere.

It loads as a valid config, but it is not removing comments

Testing method:

Use alt account to post in blacklist subreddit, then comment in sub where contextbot is a mod running this script

Expected outcome: comments removed

Actual outcome: no action taken

​

{   "runs": [     {       "checks": [  
10