fisher60 / friendo-bot

A Discord Bot that is just a good Friendo
MIT License
25 stars 24 forks source link
hacktoberfest

Friendo Bot

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.

Discord Bot Setup

To get a bot token go to Discord Developer Portal, create a new application and add a bot.

Production Installation

  1. git clone <url>

  2. Create an imgflip api account

  3. Create a Ticketmaster api account

  4. Create a Last.fm api account

  5. Create a Open Weather api account (a free account works for this)

  6. Get your AoC session cookie, see how - https://github.com/wimglenn/advent-of-code-wim/issues/1

  7. Create a file bot.env in the root project directory and fill it out using the example below

  8. docker-compose pull bot

  9. docker-compose up --build -d

# bot.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>

Dev Installation

# Clone the repository on the develop branch
$ git clone -b "develop" https://github.com/fisher60/friendo-bot.git

# Navigate to the repository directory
$ cd friendo-bot

# Install pipenv through pip or your package manager
$ pip install pipenv

# Install the development and project dependencies
$ pipenv sync --dev

# Install pre-commit hooks
$ pipenv run pre-commit install

# Optionally: run pre-commit hooks to initialize them
$ pipenv run pre-commit run --all-files

# Enter the pipenv shell
$ pipenv shell

# Run the bot
$ pipenv run python -m bot