This is a Discord bot that comforts you when you are lonely, is there for you in the middle of the night,
keeps you hydrated, and does all of your bidding like a sexy butler with a true passion for what they do.
More usefully described, Friendo is a multi-purpose Discord bot that provides a unique assortment of tools and entertainment to users in your server.
If you are a Friendo user, consider utilizing the official Friendo Website for extra capabilities of the hosted version of the bot.
To get a bot token go to Discord Developer Portal, create a new application and add a bot.
-
git clone <url> -
Create an imgflip api account
-
Create a Ticketmaster api account
-
Create a Last.fm api account
-
Create a Open Weather api account (a free account works for this)
-
Get your AoC session cookie, see how - wimglenn/advent-of-code-wim#1
-
Create a file
.envin the root project directory and fill it out using the example below -
docker compose pull bot -
docker compose up --build -d
# .env
FRIENDO_TOKEN = <your token here>
MEME_USERNAME = <your imgflip api username>
MEME_PASSWORD = <your imgflip api password>
EVENT_API_KEY = <your ticketmaster api key>
MUSIC_TOKEN = <your Last.fm api key>
WEATHER_TOKEN = <your open weather token>
AOC_SESSION_COOKIE = <your advent of code session cookie>
FRIENDO_API_USER = <your friendo api username>
FRIENDO_API_PASS = <your friendo api password>
FRIENDO_API_URL = <friendo api url>
AOC_SESSION_COOKIE = <your aoc session cookie>
AOC_JOIN_CODE = <aoc join code>
You can use the above docker method to run in a dev environment or use uv.
(if using uv for local development, the above environment variables must be added to the system or a file named .env).*
# Clone the repository on the develop branch
$ git clone -b "develop" https://github.com/fisher60/friendo-bot.git
# Create a .venv & install dependencies using the make target
$ make
# Optionally: run pre-commit hooks to initialize them
$ make lint
# Run the bot
$ uv run python -m bot