go-hypixel

command module
v0.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2021 License: AGPL-3.0 Imports: 6 Imported by: 0

README

go-hypixel

go-hypixel consists of multiple sub-projects:

  • go-hypixel-api (/api): Go library for interacting for the Hypixel API.

  • go-hypixel-engine (/engine): project to store, parse, analyse, and return Hypixel data, gathered using go-hypixel-api. Settings and data caches are stored using BoltDB through the Storm toolkit. Client projects can request data from the engine.

    • discord plugin (/engine/discord.go): discord bot which allows Discord users to get notifications about Hypixel information (e.g. friends going online and offline) or manually request that data using commands (e.g. !pstats [username] to see player stats about a Hypixel player). Written as part of the engine, its functions can be easily supplanted by other platform bots, either separately or at the same time (just run it as a goroutine from main)

Potentially, other client projects could be created to allow using the go-hypixel-engine with other services (e.g. over IRC, text messsage, Telegram, Matrix, etc.).

Usage

  1. If you have go installed and GOPATH configured, just run go install go-hypixel to fetch the source to $GOPATH/src, build, and install to $GOPATH/bin. Or, you can clone the repository manually and build it with go build.

  2. Set environmental variables: export DISCORD_TOKEN="[discord bot token here] and export HYPIXEL_API="[hypixel api token here]".

  3. Run the executable.

Technical Information

Dependency List
  ├ git.sr.ht/~exprez135/go-hypixel
    ├ git.sr.ht/~exprez135/go-hypixel/engine
      ├ git.sr.ht/~exprez135/go-hypixel/api
        └ github.com/tidwall/gjson
          ├ github.com/tidwall/match
          └ github.com/tidwall/pretty
      ├ github.com/Necroforger/dgrouter
      ├ github.com/Necroforger/dgrouter/exrouter
        ├ github.com/Necroforger/dgrouter ~
        └ github.com/bwmarrin/discordgo
          ├ github.com/gorilla/websocket
          └ golang.org/x/crypto/nacl/secretbox
            ├ golang.org/x/crypto/internal/subtle
            ├ golang.org/x/crypto/poly1305
            └ golang.org/x/crypto/salsa20/salsa
      ├ github.com/boltdb/bolt
      ├ github.com/bwmarrin/discordgo ~
      └ github.com/tidwall/gjson ~
    └ github.com/robfig/cron/v3

visualization of dependencies

Copyright 2020-2021 Nathaniel Ijams nate@ijams.me

The works are licensed under the GNU Affero General Public License Version 3 (AGPLv3). See the LICENSE file.

Notes

go-hypixel-api is a derived work from an original project by Max Walsch. His original work is licensed under the Apache Version 2.0 license. My modifications and the Derivative Work as a whole is still licensed under the AGPL. See the api directory for patch files and more information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package hypixel provides a client for using the Hypixel API.
Package hypixel provides a client for using the Hypixel API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL