Skip to content

lazybytez/jojo-discord-bot

JOJO Discord Bot

go-ref-badge gh-license-badge discord-badge

codecov-badge gh-contributors-badge gh-stars-badge

Description

This is an open source Discord bot mainly developed by Lazy Bytez.
If you want to take part in the development of the bot please check out the Contributing section.

Getting started

Requirements

  1. Go 1.19
  2. Git
  3. Docker
  4. Make

Setup

Copies env and installs dependencies

make setup

Copies env.example to .env

make env

Installs go dependencies needed to run the bot (like discordgo)

make install

Running

Run your code to test and for development purposes.

make run 

Build executable for production usage.

make build 

QA

Shows test and codecov results.

make test

Local linting to assure code styling.

make lint

Database services

To use the local PostgreSQL and Redis it is necesary to have Docker and docker-compose installed locally.

Start local database and redis:

make services/start

Stop local database and redis:

make services/stop

Destroy local database and redis:

make services/start

Contributing

If you want to take part in contribution, like fixing issues and contributing directly to the code base, please visit the How to Contribute document.

Commit messages

Construct of a commit message:

prefix(scope): commit subject with max 50 chars

Example commit message:

feat(comp): add ping slash command

Scopes

Project specific scopes and what to use them for.

'deps', // Changes done on anything dependency related
'devops', // Changes done on technical processes
'api', // Changes to the public api
'comp', // Changes to feature components
'int', // Changes to internal stuff
'serv', // Changes to the services sit between internal and public api
'core' // Changes on files in project root

Prefixes:

Also see CONTRIBUTING.md#commits

'feat', // Some new feature that has been added
'fix', // Some fixes to an existing feature
'build', // Some change on how the project is built
'chore', // Some change that just has to be done (like updating dependencies)
'ci', // Some changes to the continues integration workflows
'docs', // Some changes to documentation located in the repo (either markdown files or code DocBlocks)
'perf', // Some performance improvements
'refactor', // Some code changes, that neither adds functionality or fixes a bug
'revert', // Some changes that revert already done changes
'style', // Some fixes regarding code style
'test', // Some automated tests that have been added

Branches:

Branch Usage
main The default branch
feature/* For developing features
fix/* For fixing bugs

Recommended IDEs

Useful links

License - Contributing - Code of conduct - Issues - Pull requests


Copyright (c) Lazy Bytez. All rights reserved | Licensed under the AGPL-3.0 license.