/tempest

Fast and secure functions to build scalable Discord Applications.

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Go Reference Go Report Go Version License Maintenance Status CodeQL Conventional Commits

Tempest library logo

Tempest

Tempest is a Discord API wrapper for Applications, written in Golang. It aims to be fast, use minimal caching and be easier to use than other Discord API wrappers using http.

It was created as a better alternative to discord-interactions-go which is "low level" and outdated.

Summary

  1. HTTP vs Gateway
  2. Special features
  3. Getting Started
  4. Troubleshooting
  5. Contributing

HTTP vs Gateway

TL;DR: you probably should be using libraries like DiscordGo unless you know why you're here.

There are two ways for bots to receive events from Discord. Most API wrappers such as DiscordGo use a WebSocket connection called a "gateway" to receive events, but Tempest receives interaction events over HTTP. Using http hooks lets you scale code more easily & reduce resource usage at cost of greatly reduced number of events you can use. You can easily create bots for roles, minigames, custom messages or admin utils but it'll be very difficult / impossible to create music or moderation bots.

Special features

Getting started

  1. Install with: go get -u github.com/amatsagu/tempest
  2. Check example with few simple commands.

Troubleshooting

For help feel free to open an issue on github. You can also inivite to contact me on discord.

Contributing

All contributions are welcomed. Few rules before making a pull request:

  • Use conventional commits
  • Add link to document for new structs
    • Since v1.1.0, all structs should have links to corresponding discord docs

FOSSA Status