Skip to content
This repository has been archived by the owner on May 6, 2024. It is now read-only.
Mingde Yin edited this page Nov 28, 2019 · 30 revisions

Welcome to the Comrade wiki!

This is a bot being used by me in my personal server to improve user experience.


Comrade Logo

Functionality:

  • Dynamic Message Filtering Capabilities including edit detection and fuzzy logic, allowing far more messages to be caught than many existing solutions
  • Controllable threats list to determine which members must be treated with special caution
  • Voting system brings power to server members as means of distributing power and allowing self moderation
  • Stores variables externally, and is able to recover from sudden termination
  • Hosted remotely to work almost 24/7

Reference for Modules

[J] - Jericho Module Fun features for bot

[S] - Sentinel Module Moderation and crowd control features

[N] - Noble Module Remote functionality and maintenance features

[K] - Kronos Module (IN DEVELOPMENT) Time dependence features


Commands

  • [S] $comrade voteKick @mention

Votes to kick mentioned member. Each person gets one vote per person to kick. Once a sufficient number of votes are reached (default: 6), the person is kicked.

VOTING SYSTEM MECHANICS: Each user is stored as a key in a dictionary, kickList. When they are voted for, their value in the dictionary increases. A second dictionary, kickVotes, also stores users as keys, and appends the user who voted for them to the list. voteKick checks whether the person who voted to kick the target already exists within the target's kickVotes. The vote is only added if the person has not voted for them yet.

Command can also be executed by $comrade vibeCheck @mention

  • [S] $comrade unKick @mention

Repeals the vote for a person. Only works if you have already voted for that person.

  • [J] hello comrade

says Henlo

  • [J] henlo comrade

says Hello

  • [N] $comrade status

Reports critical information from bot's operational parameters {Threats, OPS, Kicklist, Kick Requirement, Lethality}

  • [J] $comrade 🍅

Elects a candidate file or image to be posted in meme vault. One more person must confirm by executing $comrade 🍅 followed by a special ID.


OP Commands

  • [S] $comrade lethal (number)

Sets lethality level. 0 = passive; no aggressive actions are possible. (Kicks, message filtering) 1 = Human-actuated; actions require human intervention (Vote Kick) 2 = Full-auto; some actions will go automatically (Message filtering

  • [S] $comrade (op/deop) @mention

ops or deops a person (Add/Remove from OPS)

OPS: Have access to these commands.

  • [S] $comrade (addThreat/removeThreat) (threat tier) @mention

Adds a user to/removes user from the active threats list, where they will be filtered. Specify threat tier as a number SENTINEL FILTERING METHOD:

  • Processes every single message sent from all users in THREATS to see if their message contains words in the banned list, or sufficiently similar strings.
  • Uses fuzzy logic to add an extra layer of protection against many different varieties of attack
  • In most cases the attacker must obfuscate their string to a point where it is not longer recognizable, and thus not offensive.

For each infraction committed, the threat receives 0.5 votes towards being kick which cannot be revoked.

  • [S] $comrade (addBanWord/removeBanWord) [@mention]

Adds or removes banned words from the Sentinel V2 filtering system. Without a mention: Adds a word to the global ban list With a mention: Bans a word for that specific user. User MUST be in threats list.

  • [S] $comrade (addBanSafe/removeBanSafe) @mention

adds or removes mentioned user from list of users immume to voteKicks.

  • [S] $comrade kickReq

Changes the number of votes required to kick. Be careful setting this as I have not coded a failsafe for this yet.

DANGEROUS/MAINTENANCE COMMANDS:

  • [S] $comrade resetKick

Completely regenerates the kickList and kickVotes dictionaries. Often used if members join or leave.

  • [N] $comrade reloadVars

Loads variables from the list

Lethality Levels and Powers: 1 - Ability to VoteKick enabled 1.1 - Ability for threats to add to meme vault are disabled 2 - Threats have messages filtered (non severe), can no longer VoteKick 2.1 - Threats have messages strictly filtered using dynamic system 3 - All users have messages filtered. Purge available.

Clone this wiki locally