Version 2 of good old jimmy. Probably slightly more stable. Ex-mirror of GitHub, now primary platform
Go to file
Nexus 0a302a6181
All checks were successful
Build and Publish Jimmy.2 / build_and_publish (push) Successful in 8s
Add the auto-delete reaction function
2024-05-16 19:57:35 +01:00
.gitea/workflows latest -> 24.04 2024-05-04 22:20:38 +01:00
src Add the auto-delete reaction function 2024-05-16 19:57:35 +01:00
.gitignore Add what-are-matthews-bank-details-for-the-80th-time command 2024-03-11 17:43:28 +00:00
config.example.toml Allow configuring the starboard name 2024-05-05 02:57:53 +01:00
docker-compose.yml Persist redis data (Needed for modern jimmy versions) 2024-05-06 02:23:04 +01:00
Dockerfile Manually install chromium* in dockerfile 2024-02-10 22:23:45 +00:00
LICENSE.txt ADd LICENSE and README 2024-01-15 13:02:24 +00:00
README.md Update README.md 2024-05-06 02:20:00 +01:00
requirements.txt Utilise built-in tomllib for better compatibility 2024-05-01 01:23:41 +01:00
setup.cfg Add UptimeKuma support to v2 2024-03-04 12:40:42 +00:00

College Bot V2

A continuation of LCC-Bot for our college discord.

Note that this entire bot is satirical, especially the AI. Views expressed in documents in this repository may not necessarily be my actual views, with the intention of being satirical (a lot of the time I'm mocking politicians).

Installing & Running

Prequisites

Prequisites are:

Docker:

(While you can run this without docker, the project is heavily optimised for a docker-compose stack.)

  • A machine with docker
  • A CPU with at least 64 bits, a core, and a clock speed that's at least more than 1Hz. ARM is not preferred however should work.
  • At least 256 Megabytes of RAM (mostly for the host OS & docker, though this project is python so do with that what you will)
  • I'd allocate at least 5GB of your disk to this process, but really its not needed. The largest consumer will be chrome for /screenshot.

Ollama:

Ollama is included in the docker compose stack, which enables the /ollama command. If you do not want to use this server, you should omit it from your config.toml. Otherwise, unless you're shoving a GPU into your docker container, you should expect insane CPU usage.

  • Over 50 gigabytes disk space (for multiple models)
  • A CPU that has at least 4 cores and runs at at least 2GHz (for some semblance of speed)
  • 8GB or more RAM
  • (Optional) NVIDIA GTX 1060 or AMD 6600 or newer (5th generation and older cards do not support ROCM)

/screenshot:

This command uses chromium & chromedriver (via selenium) to take screenshots of navigated pages. This command is not suitable to be run on a low-power VPS

  • 3GB Free RAM (maybe more for heavy pages)
  • 2+ CPU Cores
  • 10GB+ disk

Autoresponder:

The autoresponder has a few features, but one you should keep in mind is automated transcoding. If you want to enhance the transcoding speed (and lower the load on your CPU), you should pass through /dev/dri to your docker container. Alternatively, you can disable/configure it in config.toml (see below).

If you are going to use transcoding with hardware acceleration (/dev/dri), you should have at least a 6th generation intel CPU (or any other CPU that has HEVC 8-bit/better acceleration).

/yt-dl:

Jimmy v2 features the yt-dl command also, however a lot of the youtube functionality will be hindered if you host the bot in a cloud server. It is recommended you either host jimmy on a homeserver, or proxy your cloud server back to your residential connection, so that google does not block you.

Configuring

All possible configuration options are in config.example.toml. Copy this to config.toml and edit it, and off you pop.

Running

docker-compose.yml is provided. Use docker compose up. The latest image will be pulled automatically.

As the image is quite large, and my upload speed is... not, you may want to build the image yourself.

You can clone this repository, then run docker built -t git.i-am.nexus/nex/college-bot:latest ., and then docker compose up -d as normal. Alternatively, you can edit the compose file, replacing image: with build: ..