Go to file
2024-09-30 05:36:04 +00:00
.gitignore added logging and small tweaks 2023-11-20 10:02:30 -06:00
Dockerfile initial garfbot commit 2023-11-17 12:17:51 -06:00
garfbot.py fix kroken again 2024-09-30 05:36:04 +00:00
garfbot.tf add garfbot.tf 2023-11-19 20:30:49 -06:00
jonbot.py small formatting and variable changes, added readme 2023-11-17 19:37:51 +00:00
LICENSE.txt add license 2023-11-19 16:57:16 -06:00
moneybot.py small formatting and variable changes, added readme 2023-11-17 19:37:51 +00:00
README.md Update README.md 2023-11-19 20:53:41 -06:00
requirements.txt requirements and model update 2024-08-31 16:02:20 -05:00

GarfBot is a discord bot that uses openai generative pre-trained AI models to produce text and images for your personal entertainment and companionship.

JonBot is his owner and MoneyBot is his eccentric friend who plays the classic F2P video game Planetside 2.

To interact: (not case-sensitive)

"hey garfield" responds with text.

"garfpic" responds with image.

"hey jon" responds with text.

"hey money" responds with text.

To get started, clone this repo and create a config.py file in GarfBot's root directory. Open your favorite text editor or IDE and add your various API tokens as such:

GARFBOT_TOKEN = "token"
JONBOT_TOKEN = "token"
MONEYBOT_TOKEN = "token"
OPENAI_TOKEN = "token"
GIF_TOKEN = "token"

If you want to configure a more secure setup, go ahead.

Next, I recommend building a docker image for each bot using the included DockerFile as a template. Run each container binding /usr/src/app to GarfBot's CWD.

A terraform file has been included to launch all three containers, or you can do it manually.

Example:

crate@raspberrypi:~/garfbot $ docker build -t garfbot .
crate@raspberrypi:~/garfbot $ docker run -d --restart always -v $PWD:/usr/src/app --name garfbot garfbot

Or if you prefer to install dependencies (from requirements.txt) on you own host and run as a systemd service:

[Unit]
Description=garfbot
After=multi-user.target

[Service]
Type=simple
Restart=always
User=pi
WorkingDirectory=/home/crate/garfbot
ExecStart=/usr/bin/python ./garfbot.py

[Install]
WantedBy=multi-user.target