A Discord library for Scala using Akka
MIT License
Bot releases are visible (Hide)
Fixed the verifier for empty strings
Published by Katrix over 2 years ago
Additions
Changes
And tons of other smaller updates
Published by Katrix about 4 years ago
Small bug fix.
Published by Katrix about 4 years ago
This release is all about improving core AckCord functions like the cache and gateway. It also finalizes the missing pieces from the new commands system.
CacheEvent
that does tons of updates.Cache
has been renamed to Events
and now holds more than just the cache. It now also gives access to listen directly to the messages received from the gateway before AckCord
does more processing on them. This might help for you if AckCord
can't construct an APIMessage
due to missing values in the cache.APIMessage
s has changed due to correctness and to reduce the chance of a message not being created due to missing values in the cache.CacheEvent
that can be enabled for all requests started by a Requests
object by setting the alsoProcessRequests
field to RequestCacheUpdate.requestsProcessor
Requests
ClientSettings
ignoreFailures
is true, the old behavior is kept. The failed request is logged and ignoredignoreFailures
is false, the error is thrown. For methods that run a single request, the error is not ignoredGuildMessage
to GuildGatewayMessage
as this type of message is only received from the gatewayPublished by Katrix over 4 years ago
Alright, finally got 0.16.0 released. This is a big release that fixes many long standing issues in AckCord. My hope is that if nothing else shows up, 1.0.0 is finally in sight. Sorry in advance for probably breaking a lot of code with this release.
Published by Katrix almost 5 years ago
Alright, another big update. Last release was almost half a year ago at this point, and a lot has happened since.
Published by Katrix over 5 years ago
Much smaller update this time
Additions:
Fixes:
Published by Katrix over 5 years ago
Well now, this is one massive release containing both a lot of refactorings and simplifications, and lots of new API additions.
Features:
Changes:
Remappings:
Fixes:
Published by Katrix almost 6 years ago
A bit smaller release this time. This release should be source compatible with 0.11 as long as you didn't use any deprecated stuff. It is NOT binary compatible however. Anyway, let's get on to the changelog.
Published by Katrix almost 6 years ago
Oh boy. This is a big one. My hope is that the central API shouldn't change too much after this version. So, on to the changes.
AckCord
singleton objectRestOption
is now used in websockets, and is as such renamed to JsonOption
Option
to a JsonOption
JsonOption
to the ackcord
packageVGuildChannel
given a guildCreateEmoji
emoji param, and made a utility method for unicode emojisClientSettings
build methodCacheSnapshot
can now be empty depending on the implementation. They are not empty in Core.DiscordShard
RequestHelper
to run many requests at once without using streams. These complipents the single<X>
methods. Retry methods have been renamed to accommodate this.Let's go over the big changes that very likely will impact your code. This release marks the first (I think), where stuff isn't changing so much that I can't retain the original methods, so for the most part, many things talked about here still, exists, but in a deprecated form.
RequestDSL has been deprecated, and will likely be removed next minor release. In it's place there is RequestRunner
. For the most part they should work similarly. Everything that took a RequestDSL
now has a RequestRunner
alternative instead. RequestRunner
can also use Future[List[A]]
behind the scenes, but you're adviced to stick to streams.
Simple change to explain. MessageParser
will no longer automatically derive instances for you. If you want this behavior, import MessageParser.auto._
Commands have gotten more improvements, although not as much of a redesign as last time. The goal this time is to hand more control of how commands are parsed over to you guys.
Individual commands are now parsed by CmdRefiner
. If you want back the old behavior of name + category + filters, then use CmdInfo
, which is an implementation of CmdRefiner
. Categories have also been changes. Simply put, they don't exist anymore. Instead we just use normal strings.
You also now have control over the general shape commands have using AbstractCommandSettings
. If you want the old logic back, you can continue to use CommandSettings
as a default implementation.
Published by Katrix over 6 years ago
Alright, lot's of changes and improvements here, many to provide more flexibility and rely less on Core. The whole project has also been modularized.
First the small stuff
HttpException
now contains some extra dataGetChannelMessages
ShardActor
no longer existsRequestHelper.create
to create a RequestHelper
HelpCmd
to be used with acksNow for the more breaking changes
raw.data
packageF[_]
. For cache access for more, this type is Id
.CacheSnapshotLike
is now called CacheSnapshot
. What used to be CacheSnapshot
is now. MemoryCacheSnapshot
. It's now very rarely used.Streamable
typeclass to convert some type F[A]
to a Source[A, NotUsed]
RequestDSL
can now lift any type F[_]
into the DSL as long as a Streamable
exists for that type.RequestDSL
were renamed. Aliases were removed.MemoryCacheSnapshot
has been moved to Core.requirePerms
from rest requestsCommands
object is provided from some other place.Published by Katrix over 6 years ago
Mostly a cleanup release
Discord API Changes
AckCord changes
NoMatchException
syntax
config
in DiscordProtocol
to prevent clashes with other classesisAllowed
for CmdFilter
for users with a guild id. For use in stuff like help commands.CmdDescription
to store extra infosyntax
Published by Katrix almost 7 years ago
ackcord-data
which has also been released for ScalaJS.Published by Katrix almost 7 years ago
ackcord
is now ackcord-core
ackcord
Published by Katrix almost 7 years ago
Published by Katrix almost 7 years ago
VGuildChannel
GuildFilter
GuildRouter
Published by Katrix almost 7 years ago
DMChannel
instead of RawChannel
for example.Published by Katrix almost 7 years ago
SnowflakeType[A]
where A
is some arbitrary type.Published by Katrix almost 7 years ago
APIMessage.Ready
for GuildRouter
Published by Katrix almost 7 years ago