A (Discord) chatbot with an exaggerated personality of my Junior year lab teacher
- Python 99.5%
- Dockerfile 0.5%
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 |
||
|---|---|---|
| src/jacobs_bot | ||
| .dockerignore | ||
| .gitignore | ||
| .python-version | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pyproject.toml | ||
| README.md | ||
| students.json | ||
| uv.lock | ||
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.
- Periodically sends messages containing preset quotes to a channel
- Able to assign essays to server members
- Can play rock paper scissors ESSAY!!! (suggested by the man, the myth, the legend, Mr. Jacobs himself!)
- 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)
- 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