Discord bot for handling Ryujinx moderation tasks and such, (n)ext-(g)en rewrite of Robocop
Go to file
2021-02-28 16:47:05 +03:00
assets Revert ".trump" 2019-12-22 01:19:28 +03:00
cogs Move some count commands over to a separate cog 2021-02-13 01:47:00 +03:00
helpers Do a black pass and add black to contributing guidelines 2020-04-21 01:05:32 +03:00
.dockerignore Add Dockerfile 2021-02-28 14:45:31 +01: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_template.py yubicootp: Add signature support 2020-10-13 18:04:21 +03:00
Dockerfile Add Dockerfile 2021-02-28 14:45:31 +01:00
LICENSE Initial commit 2018-03-09 01:47:53 +03:00
README.md Add automated Yubico OTP revoke support 2020-10-13 17:13:24 +03:00
requirements.txt Remove asyncio from requirements.txt 2020-10-01 20:15:33 -04:00
Robocop.py Escape Markdown in clean_content calls 2020-10-01 20:03:41 -04:00
SECURITY.md im a bitch 2019-12-19 23:30:27 +10:00

robocop-ng

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

Code is based on https://gitlab.com/a/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.
  • Enable the Server Members privileged intent (guide here) for the bot. You don't need to give Discord your passport as Robocop-NG is not designed to run at >1 guild at once, let alone >100.
  • (obviously) Add the bot to your guild. Many resources about this online.
  • If you haven't already done this already, move the bot's role above the roles it'll need to manage, or else it won't function properly, this is especially important for verification as it doesn't work otherwise.
  • 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 ').

Contributing

Contributions are welcome. If you're unsure if your PR would be merged or not, either open an issue, ask on ReSwitched off-topic pinging ave or DM ave.

You're expected to use black for code formatting before sending a PR. Simply install it with pip (pip3 install black), and run it with black ..


Credits

Robocop-NG was initially developed by @aveao and @tumGER. It is currently maintained by @aveao. Similarly, the official robocop-ng on reswitched discord guild is hosted by @aveao too.

I (ave) would like to thank the following, in no particular order:

  • ReSwitched community, for being amazing
  • ihaveamac/ihaveahax and f916253 for the original kurisu/robocop
  • misson20000 for adding in reaction removal feature and putting up with my many BS requests on PR reviews
  • linuxgemini for helping out with Yubico OTP revocation code (which is based on their work)
  • Everyone who contributed to robocop-ng in any way (reporting a bug, sending a PR, forking and hosting their own at their own guild, etc).