A (Discord) chatbot with an exaggerated personality of my Junior year lab teacher
  • Python 99.5%
  • Dockerfile 0.5%
Find a file
foreverpyrite c337559109 bot treats DMs as mentions; DMs fixed
quite a bit of pasta programming done this commit

Changed:
  - The discord bot will now treat any message in a DM channel as a
message that mentions him, soliciting a reply.

Fixed:
  - DMs now have more safeguards to ensure *some* context is provided to
the bot, instead of usually crashing
2026-09-14 19:19:26 -04:00
src/jacobs_bot bot treats DMs as mentions; DMs fixed 2026-09-14 19:19:26 -04:00
.dockerignore i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00
.gitignore i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00
.python-version modern apis and tooling (no testing tho) 2026-09-11 02:31:26 -04:00
docker-compose.yml i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00
Dockerfile i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00
pyproject.toml i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00
README.md Update README.md 2026-09-14 18:17:44 -04:00
students.json default students.json 2026-09-13 17:03:12 -04:00
uv.lock i can now put python & ai on my resume 2026-09-13 17:03:12 -04:00

Jacobs Bot

This is a funny little Discord bot I wrote to represent a hyperbolized version of my Computer Networking & Cybersecurity class's instructor, since he was...a character.

Don't judge my spelling errors that I'm sure are littered all over the source code.

Since the OpenAI Assistants API has been sunset, I updated this to the latest APIs as of 2026-09. I only didn't rewrite this in Rust for the sake of keeping Python and AI on my resume.

Key Features

The bot is not exclusively AI. It has some features that are simply based on hardcoded values and rng, but messaging it does utilize AI for a response.

  1. Periodically sends messages containing preset quotes to a channel
  2. Able to assign essays to server members
  3. Can play rock paper scissors ESSAY!!! (suggested by the man, the myth, the legend, Mr. Jacobs himself!)
  4. Able to get a lot of context:
    • Adds the content of reply chains (up to 10 messages)
    • Looks at the current channel for:
      • Channel name
      • Channel description
      • Category
    • Attached information based on users mentioned
    • If the student has an essay (to yell at them to do it)
  5. Responds to messages that:
    • Are replies to messages the bot sent
    • Mention the bot

uhh yeah I think those are the key points. I'm sure it does other things but that's all I remember working on