/dbot

A Discord bot with a few fun features.

Primary LanguagePythonMIT LicenseMIT

Forks Stargazers Issues MIT License


Logo

DBot

Another discord bot! · Report Bug · Request Feature · Invite Me

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

DBot Screenshot

Another discord bot build for fun. Originally intended as a Dice Rolling bot but I keep adding fun features because I am enjoying the project. The current capabilities of the bot are:

  • Dice rolling
  • Board Game Geek Hot List & User Information Lookup
  • Cowsay
  • Fortune

Some features I am considering for the future include:

  • Get the latest images from the Curiosity or Perseverance Rovers
  • View upcoming space launches

Built With

Getting Started

To get up and running with DBot:

Prerequisites

The only pre-requisites to get up and running are Python 3 with pipenv. While pipenv is not required it makes installation of packages for the project trivial.

Additionally, the project is built with containers in mind so you can install Docker on your system but the project can be run without being in a container as well.

Installation

  1. Check out this tutorial on realpython.com for recommendations on setting up a Discord Developer account for a bot and getting an API token.
  2. Clone the repo
    git clone https://github.com/SpinStabilized/dbot.git
  3. The development environment uses pipenv. To install a test environment
    pipenv install
  4. Create a .env file
    touch .env
    Populate the file with the follow information
    DISCORD_TOKEN=your_token_here
    DISCORD_BOT_PREFIX=your_prefix_char_here
    DISCORD_BOT_DEVELOPERS=semicolon_separated_developer_id_list
  5. To execute the bot in the pipenv environment you can execute it directly
    pipenv run src/dbot.py
    or jump into a shell in the pipenv environment and run it with Python
    pipenv shell
    python src/dbot.py
  6. The Docker compose files can build a container environment that will immediately connect and start running
docker-compose -f "docker-compose.yml" up -d --build
  1. If you are using Docker and add any modules with pipenv install, make sure you freeze the environment before you run the Docker compose. If you are in a *nix shell (Linux, WSL, OS X) there is a convenience script included
./freeze.sh
  1. I develop in VS Code and mostly on a Windows machine. Some of the extensions I find very useful (and should be largly cross-compatible) are

Usage

TBD

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Brian McLaughlin - bjmclauglin@gmail.com

Project Link: https://github.com/SpinStabilized/dbot

Acknowledgements