Discord bot for handling Ryujinx moderation tasks and such, (n)ext-(g)en rewrite of Robocop
Go to file
2018-12-27 14:44:09 +03:00
cogs fetchdata: add .fetchdata and make bot start send data files 2018-12-27 14:44:09 +03:00
helpers Rename warnsv2.json to userlog.py 2018-12-27 14:19:33 +03:00
.gitignore Get rid of data folder on git, add it to gitignore, gen files needed at 2018-12-27 14:13:28 +03:00
config.py.template restrictions: Don't rely on role names, use role ids instead 2018-12-27 12:10:29 +03:00
LICENSE Initial commit 2018-03-09 01:47:53 +03:00
README.md Rename warnsv2.json to userlog.py 2018-12-27 14:19:33 +03:00
requirements.txt Extend readme 2018-12-26 14:32:57 +03:00
Robocop.py fetchdata: add .fetchdata and make bot start send data files 2018-12-27 14:44:09 +03:00

Robocop-ng

Next-gen rewrite of Kurisu/Robocop bot used on ReSwitched bot with discord.py rewrite, designed to be clean, fast and un-bloated.

Code is based on https://gitlab.com/ao/dpybotbase and https://github.com/916253/Kurisu-Reswitched.


How to run

  • Copy config.py.template to config.py, configure all necessary parts to your server.
  • Install python3.6+.
  • Install python dependencies (pip3 install -Ur requirements.txt, you might need to put sudo -H before that)
  • Run Robocop.py (python3 Robocop.py)

To keep the bot running, you might want to use pm2 or a systemd service.

If you're moving from Kurisu/Robocop, you'll want to copy your data folder over. Make sure to rename your warnsv2.json file to userlog.json.


TODO

ALL FEATURES OF KURISU/ROBOCOP USED IN RESWITCHED ARE NOW SUPPORTED!

List of added kurisu/robocop features

  • .py configs
  • membercount command
  • Meme commands and pegaswitch (honestly the easiest part)
  • source command
  • robocop command
  • Verification: Actual verification system
  • Verification: Reset command
  • Logging: joins
  • Logging: leaves
  • Logging: role changes
  • Logging: bans
  • Logging: kicks
  • Moderation: speak
  • Moderation: ban
  • Moderation: silentban
  • Moderation: kick
  • Moderation: userinfo
  • Moderation: approve-revoke (community)
  • Moderation: addhacker-removehacker (hacker)
  • Moderation: probate-unprobate (participant)
  • Moderation: lock-softlock-unlock (channel lockdown)
  • Moderation: mute-unmute
  • Moderation: playing
  • Moderation: botnickname
  • Moderation: nickname
  • Moderation: clear/purge
  • Moderation: restrictions (people who leave with muted role will get muted role on join)
  • Warns: warn
  • Warns: listwarns-listwarnsid
  • Warns: clearwarns-clearwarnsid
  • Warns: delwarnid-delwarn
  • .serr and .err (thanks tomger!)


Main goal of this project is to get Robocop functionality done, secondary goal is adding new features. The following entries are secondary, less "urgent" goals:

  • Better security, better checks and better guild whitelisting
  • New verification feature: Using log module from akbbot for logging attempts and removing old attempts
  • New moderation feature: watch-unwatch (using log module from akbbot)
  • New feature: Highlights (problematic words automatically get posted to modmail channel)
  • New feature: Modmail
  • New feature: Submiterr
  • New moderation feature: mutetime (mute with time)
  • New moderation feature: timelock (channel lockdown with time)
  • New moderation feature: Display of mutes, bans and kicks on listwarns (.userlog now)
  • New moderation feature: User notes
  • New moderation feature: Reaction removing features (thanks misson20000!)
  • New moderation feature: User nickname change
  • New self-moderation feature: .mywarns
  • Remove sh, remove risky stuff from eval

Thanks to

  • ReSwitched community, for being amazing
  • ihaveamac and f916253 for the original kurisu/robocop
  • tomGER for working hard on rewriting the .err/.serr commands, those were a nightmare
  • misson20000 for adding in reaction removal feature and putting up with my many BS requests on PR reviews