You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tumGER 011b24d72f adjust 1 year ago
cogs adjust 1 year ago
helpers Robocronp: Add robocronp and some timed commands 1 year ago
.gitignore adjust 1 year ago
LICENSE Initial commit 2 years ago
README.md Update README.md 1 year ago
Robocop.py adjust 1 year ago
config.py.template Drop requirement for the first whitelisted guild to be the one 1 year ago
requirements.txt Extend readme 1 year ago

README.md

Robocop-ng

Next-gen rewrite of Kurisu/Robocop/Komet bot used by AtlasNX, ReSwitched and Nintendo Homebrew with discord.py rewrite, designed to be relatively clean, consistent 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)
  • If you’re moving from Kurisu or Robocop: Follow Tips for people moving from Kurisu/Robocop below.
  • Run Robocop.py (python3 Robocop.py)

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


Tips for people moving from Kurisu/Robocop

If you’re moving from Kurisu/Robocop, and want to preserve your data, you’ll want to do the following steps:

  • Copy your data folder over.
  • Rename your data/warnsv2.json file to data/userlog.json.
  • Edit data/restrictions.json and replace role names ("Muted" etc) with role IDs (526500080879140874 etc). Make sure to have it as int, not as str (don’t wrap role id with " or ').

TODO

All Robocop features are now supported.

List of added Kurisu/Robocop features


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:

TODO for robocronp

[ ] Reduce code repetition on mod_timed.py [ ] Allow non-hour values on timed bans

the following require me to rethink some of the lockdown code, which I don’t feel like

[ ] lockdown in helper [ ] timelock command [ ] working cronjob for unlock


Thanks to

  • Ave, writing most code
  • ReSwitched community, for being amazing
  • ihaveamac/ihaveahax 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