dutchdronesquad / discord-bot

A Discord bot for the DDS community server
0 stars 0 forks source link
discord-bot docker drones hacktoberfest python

🤖 DDS - Discord Bot

This is a Dutch Drone Squad - Discord bot, that can interact with people in a our server.

Features

The bot responds to the ! commands below:

Or slash commands like:

Twitch Integration

The bot also has a Twitch integration, where it will post a message in a specific channel when DutchDroneSquad goes live. It needs a Twitch API client ID and secret to work.

Owner Commands

Setting up development environment

It's advisable to test the bot during development in a separate server and use a separate token for a production or development. In this project it was decided to make a production.yaml for production stack deploy and docker-compose.yml for development.

Follow the steps below to set up the project on your environment.

Click to expand! ### Install dependencies This Python project relies on [Poetry][poetry] as its dependency manager, providing comprehensive management and control over project dependencies. You need at least: - Python 3.11+ - [Poetry][poetry-install] Install all packages, including all development requirements: ```bash poetry install ``` Poetry creates by default an virtual environment where it installs all necessary pip packages, to enter or exit the venv run the following commands: ```bash poetry shell exit ``` Create an `.env` file and enter the missing details (token from [developers portal][dev-portal] and ID's). ```bash cp .env.example .env ``` ### Run the application To run it on your development setup, you can either run the python file (main.py), run it as single docker container by building and running the container with docker compose. #### Python The simplest is to run the python file directly with: ```bash python main.py ``` #### docker-compose Use docker compose to build and run the container: ```bash docker-compose up -d --build ``` Run in production mode: ```bash docker compose -f prod/production.yml up -d ```