diff --git a/arikawa.go b/arikawa.go new file mode 100644 index 0000000..6597d4b --- /dev/null +++ b/arikawa.go @@ -0,0 +1,41 @@ +// Package arikawa contains a set of modular packages that allows you to make a +// Discord bot or any type of session (OAuth unsupported). +// +// Session +// +// Package session is the most simple abstraction, which combines the API +// package and the Gateway websocket package together into one. This could be +// used for minimal bots that only use gateway events and such. +// +// State +// +// Package state abstracts on top of session and provides a local cache of API +// calls and events. Bots that either don't need a command router or already has +// its own should use this package. +// +// Bot +// +// Package bot abstracts on top of state and provides a command router based on +// Go code. This is similar to discord.py's API, only it's Go and there's no +// optional arguments (yet, although it could be worked around). Most bots are +// recommended to use this package, as it's the easiest way to make a bot. +// +// Voice +// +// Package voice provides an abstraction on top of State and adds voice support. +// This allows bots to join voice channels and talk. The package uses an +// io.Writer approach rather than a channel, contrary to other Discord +// libraries. +package arikawa + +import ( + // Packages that most should use. + _ "github.com/diamondburned/arikawa/bot" + _ "github.com/diamondburned/arikawa/session" + _ "github.com/diamondburned/arikawa/state" + _ "github.com/diamondburned/arikawa/voice" + + // Low level packages. + _ "github.com/diamondburned/arikawa/api" + _ "github.com/diamondburned/arikawa/gateway" +) diff --git a/go.mod b/go.mod index a8aca42..bd399aa 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,6 @@ require ( github.com/pkg/errors v0.9.1 github.com/sasha-s/go-csync v0.0.0-20160729053059-3bc6c8bdb3fa github.com/sasha-s/go-deadlock v0.2.0 - golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 - golang.org/x/time v0.0.0-20191024005414-555d28b269f0 + golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5 + golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 ) diff --git a/go.sum b/go.sum index 390fa1d..0fb3c02 100644 --- a/go.sum +++ b/go.sum @@ -14,6 +14,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90Pveol golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5 h1:Q7tZBpemrlsc2I7IyODzhtallWRSm4Q0d09pL6XbQtU= +golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -22,3 +24,5 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 h1:NusfzzA6yGQ+ua51ck7E3omNUX/JuqbFSaRGqU8CcLI= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=