All Projects → FoxxMD → context-mod

FoxxMD / context-mod

Licence: MIT license
an event-based, reddit moderation bot built on top of snoowrap and written in typescript

Programming Languages

typescript
32286 projects
EJS
674 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to context-mod

reddit-comment-bot
Reddit bot that auto replies to comments on set subreddits
Stars: ✭ 59 (+55.26%)
Mutual labels:  reddit, reddit-bot, reddit-application
sneakpeek
Reddit bot to preview and post hyperlinks as comments
Stars: ✭ 60 (+57.89%)
Mutual labels:  reddit, reddit-bot
RepostCheckerBot
Bot for checking reposts on reddit
Stars: ✭ 36 (-5.26%)
Mutual labels:  reddit, reddit-bot
cronnit.com
A free tool for scheduling posts to Reddit.
Stars: ✭ 3 (-92.11%)
Mutual labels:  reddit, reddit-bot
crypto-subreddits-cli
👽 Track Cryptocurrency Subreddits On The Command Line 👽
Stars: ✭ 24 (-36.84%)
Mutual labels:  reddit, reddit-bot
photon-reddit
Photon Reddit is a clean and modern reddit desktop client, with some cool features.
Stars: ✭ 25 (-34.21%)
Mutual labels:  reddit, reddit-application
PlayStoreLinks Bot
A Reddit Bot that links to Android Apps when requested.
Stars: ✭ 91 (+139.47%)
Mutual labels:  reddit, reddit-bot
Reddit-Bot-List
⚡️🤖 A list of Reddit bots
Stars: ✭ 21 (-44.74%)
Mutual labels:  reddit, reddit-bot
RedditExtractor
A minimalistic R wrapper for the Reddit API
Stars: ✭ 58 (+52.63%)
Mutual labels:  reddit
reddit2kindle
Send reddit directly to your kindle
Stars: ✭ 30 (-21.05%)
Mutual labels:  reddit
reddit get top images
Get top images from any subreddit
Stars: ✭ 37 (-2.63%)
Mutual labels:  reddit
Slide
Slide is an open-source, ad-free Reddit browser for Android.
Stars: ✭ 1,733 (+4460.53%)
Mutual labels:  reddit
social-post-api
Social Media API: Automate Posting and Analytics to Social Networks like Instagram, TikTok, Twitter, Facebook, LinkedIn, Reddit, YouTube, and Telegram
Stars: ✭ 38 (+0%)
Mutual labels:  reddit
KustomPyper
Get amazing wallpapers from reddit, unsplash, bing and wallhaven for your Desktop
Stars: ✭ 24 (-36.84%)
Mutual labels:  reddit
Reddnet
🎭 Minimal Reddit clone
Stars: ✭ 125 (+228.95%)
Mutual labels:  reddit
reddit-place-2017
Archive of Reddit's r/place data, history and images
Stars: ✭ 50 (+31.58%)
Mutual labels:  reddit
Snooful
The most complete bot for moderation, utility, and fun in Reddit Chat.
Stars: ✭ 13 (-65.79%)
Mutual labels:  reddit
scripts
A collection of random scripts I coded up
Stars: ✭ 17 (-55.26%)
Mutual labels:  reddit
top-of-reddit
Top Reddit posts every day.
Stars: ✭ 22 (-42.11%)
Mutual labels:  reddit
SmartImage
Reverse image search tool (SauceNao, ImgOps, trace.moe, and more)
Stars: ✭ 346 (+810.53%)
Mutual labels:  reddit
title nav_order
Home
1

ContextMod Latest Release License: MIT Docker Pulls

ContextMod logo

Context Mod (CM) is an event-based, reddit moderation bot built on top of snoowrap and written in typescript.

It is designed to help fill in the gaps for automoderator in regard to more complex behavior with a focus on user-history based moderation.

An example of the above that Context Bot can do:

  • On a new submission, check if the user has also posted the same link in N number of other subreddits within a timeframe/# of posts
  • On a new submission or comment, check if the user has had any activity (sub/comment) in N set of subreddits within a timeframe/# of posts

In either instance Context Bot can then perform any action a moderator can (comment, report, remove, lock, etc...) against that user, comment, or submission.

Feature Highlights for Moderators:

Feature highlights for Developers and Hosting (Operators):

Table of Contents

How It Works

Each subreddit using the RCB bot configures its behavior via their own wiki page.

When a monitored Activity (new comment/submission, new modqueue item, etc.) is detected the bot runs through a list of Checks to determine what to do with the Activity from that Event. Each Check consists of :

Kind

Is this check for a submission or comment?

Rules

A list of Rules to run against the Activity. Triggered Rules can cause the whole Check to trigger and run its Actions

Actions

A list of Actions that describe what the bot should do with the Activity or Author of the activity (comment, remove, approve, etc.). The bot will run all Actions in this list.


The Checks for a subreddit are split up into Submission Checks and Comment Checks based on their kind. Each list of checks is run independently based on when events happen (submission or comment).

When an Event occurs all Checks of that type are run in the order they were listed in the configuration. When one check is triggered (an Action is performed) the remaining checks will not be run.


Learn more about the RCB lifecycle and core concepts in the docs.

Getting Started

Operators

This guide is for users who want to run their own bot on a ContextMod instance.

See the Operator's Getting Started Guide

Moderators

This guide is for reddit moderators who want to configure an existing CM bot to run on their subreddit.

See the Moderator's Getting Started Guide

Configuration and Documentation

Context Bot's configuration can be written in YAML (like automoderator) or JSON5. Its schema conforms to JSON Schema Draft 7. Additionally, many operator settings can be passed via command line or environmental variables.

Check the full docs for in-depth explanations of all concepts and examples

Web UI and Screenshots

Dashboard

CM comes equipped with a dashboard designed for use by both moderators and bot operators.

  • Authentication via Reddit OAuth -- only accessible if you are the bot operator or a moderator of a subreddit the bot moderates
  • Connect to multiple ContextMod instances (specified in configuration)
  • Monitor API usage/rates
  • Monitoring and administration per subreddit:
    • Start/stop/pause various bot components
    • View statistics on bot usage (# of events, checks run, actions performed) and cache usage
    • View various parts of your subreddit's configuration and manually update configuration
    • View real-time logs of what the bot is doing on your subreddit
    • Run bot on any permalink

Subreddit View

Bot Setup/Authentication

A bot oauth helper allows operators to define oauth credentials/permissions and then generate unique, one-time invite links that allow moderators to authenticate their own bots without operator assistance. Learn more about using the oauth helper.

Operator view/invite link generation:

Oauth View

Moderator view/invite and authorization:

Invite View

A similar helper and invitation experience is available for adding subreddits to an existing bot.

Subreddit Invite View

Configuration Editor

A built-in editor using monaco-editor makes editing configurations easy:

  • Automatic JSON or YAML syntax validation and formatting
  • Automatic Schema (subreddit or operator) validation
  • All properties are annotated via hover popups
  • Unauthenticated view via yourdomain.com/config
  • Authenticated view loads subreddit configurations by simple link found on the subreddit dashboard
  • Switch schemas to edit either subreddit or operator configurations

Configuration View

Grafana Dashboard

  • Overall stats (active bots/subreddits, api calls, per second/hour/minute activity ingest)
  • Over time graphs for events, per subreddit, and for individual rules/check/actions

Grafana Dashboard

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].