About · How to Install? · Metrics · Support · Contributing · Security
GuildOps provides a way to manage your WoW Guild with a discord Bot.
- Create raids ;
- Assign Loots ;
- Calculate Loot counter ;
- Add notes on players ;
- And more !
Before anything, you need to edit the config at config/config.yml to add your discord bot token, guild id and postgres credentials You can also provides them via environment variables. dotenv is required for docker-compose.
go install github.com/antony-ramos/guildops/cmd/guildops@latest
guildops ...
docker run ghcr.io/antony-ramos/guildops
docker-compose up
Before anything, you need to edit the config at config/config.yml to add your discord bot token, guild id and postgres credentials.
make dpkg.build
make dpkg.install
You can remove it with make dpkg.remove
You can also install it via ssh. You need to setup SSH_HOST and SSH_USER in your environment.
export SSH_HOST=yourhost
export SSH_USER=youruser
make ssh.install
A configuration file is required to run GuildOps.
This configuration file should be located at "config/config.yml"
or any file specified by CONFIG_PATH
app:
name: 'guildops'
version: '0.0.1'
environment: "development"
logger:
level: debug
metrics:
port: 2213
postgres:
pool_max: 10
conn_attempts: 10
conn_timeout: 5s
For exemple :
app: name: 'guildops' version: '0.0.1' environment: "development" logger: level: debug metrics: port: 2213 postgres: pool_max: 10 conn_attempts: 10 conn_timeout: 5s
Secrets are needed to be set in the environment variables
export DISCORD_TOKEN=yourtoken
export DISCORD_GUILD_ID=yourguildid
export PG_URL=yourpostgresurl
For Debian installation, you must set them in config file.
app:
name: 'guildops'
version: '0.0.1'
environment: "development"
logger:
level: debug
metrics:
port: 2213
discord:
token: <yourtoken>
guild_id: <yourguildid>
postgres:
pool_max: 10
conn_attempts: 10
conn_timeout: 5s
url: <yourpostgresurl>
Please read our usage guide
Reach out to the maintainer at one of the following places:
- GitHub Discussions
- Open an issue on GitHub
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
guildops
follows good practices of security, but 100% security cannot be assured.
guildops
is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
This project is licensed under the CeCILL License 2.1.
See LICENSE for more information.
Thanks for these awesome resources and projects that were used during development:
- https://github.com/Masterminds/squirrel Squirrel - fluent SQL generator for Go
- https://github.com/bwmarrin/discordgo Go bindings for Discord
- https://github.com/ilyakaznacheev/cleanenv Clean and minimalistic environment configuration reader for Golang
- https://github.com/jackc/pgx PostgreSQL driver and toolkit for Go
- https://github.com/lib/pq Pure Go Postgres driver for database/sql
- https://github.com/prometheus/client_golang Prometheus instrumentation library for Go applications
- https://github.com/stretchr/testify A toolkit with common assertions and mocks that plays nicely with the standard library
- https://go.opentelemetry.io/otel OpenTelemetry-Go is the Go implementation of OpenTelemetry
- https://go.uber.org/zap Blazing fast, structured, leveled logging in Go