ackcord
package ackcord
- Alphabetic
- By Inheritance
- ackcord
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type BotAuthentication = ackcord.requests.BotAuthentication.type
- type Cache = Events
-
case class
CacheSettings(processor: CacheProcessor = ..., parallelism: Int = 4, cacheBufferSize: PubSubBufferSize = PubSubBufferSize(), sendGatewayEventsBufferSize: PubSubBufferSize = PubSubBufferSize(), receiveGatewayEventsBufferSize: PubSubBufferSize = PubSubBufferSize(), ignoredEvents: Seq[Class[_ <: GatewayEvent[_]]] = Nil, cacheTypeRegistry: CacheTypeRegistry = CacheTypeRegistry.default, partitionCacheByGuild: Boolean = false) extends Product with Serializable
- processor
A function that runs on the cache right before a cache snapshot is produced.
- parallelism
How many cache updates are constructed in parallel
- cacheBufferSize
Size of the buffer for the cache
- sendGatewayEventsBufferSize
Size of the buffer for sending gateway events
- receiveGatewayEventsBufferSize
Size of the buffer for receiving gateway events
- ignoredEvents
Events the cache will ignore. APIMessage s aren't sent for these either.
- cacheTypeRegistry
Gives you control over how entities in the cache are updated, and what values are retained in the cache.
- partitionCacheByGuild
Instead of sharing a single cache for the entire application, this partitions the cache by guild. Each guild will in effect receive it's own cache. Cache events not specific to one guild will be sent to all caches. Unlike then default cache, this one is faster, as cache updates can be done in parallel, but might use more memory, and you need to handle cross guild cache actions yourself.
- trait ChannelEventListenerMessage[A] extends EventListenerMessage[A]
-
case class
ClientSettings(token: String, largeThreshold: Int = 50, shardNum: Int = 0, shardTotal: Int = 1, idleSince: Option[Instant] = None, activities: Seq[RawActivity] = Nil, status: PresenceStatus = PresenceStatus.Online, afk: Boolean = false, compress: Compress = Compress.ZLibStreamCompress, eventDecoders: EventDecoders = ..., intents: GatewayIntents = GatewayIntents.AllNonPrivileged, system: ActorSystem[Nothing] = ..., requestSettings: RequestSettings = RequestSettings(), cacheSettings: CacheSettings = CacheSettings()) extends Product with Serializable
Settings used when connecting to Discord.
Settings used when connecting to Discord.
- token
The token for the bot.
- largeThreshold
The large threshold.
- shardNum
The shard index of this shard.
- shardTotal
The amount of shards.
- idleSince
If the bot has been idle, set the time since.
- activities
Send one or more activities when connecting.
- status
The status to use when connecting.
- afk
If the bot should be afk when connecting.
- compress
What sort of compression the gateway should use.
- intents
Fine grained control over which events Discord should sent to your bot.
- system
The actor system to use.
- requestSettings
The request settings to use.
- cacheSettings
Settings the cache will use.
-
trait
DiscordClient extends AnyRef
Trait used to interface with Discord stuff from high level.
- class DiscordClientActor extends AbstractBehavior[Command]
- class DiscordClientCore extends DiscordClient
- trait EventListener[A, Mat] extends AnyRef
- case class EventListenerBuilder[+M[_], A <: APIMessage](requests: Requests, refineEvent: (APIMessage) ⇒ Option[A], actionFunction: ActionFunction[EventListenerMessage, M, Nothing]) extends ActionBuilder[EventListenerMessage, M, Nothing, A] with Product with Serializable
- trait EventListenerMessage[A] extends AnyRef
- case class EventRegistration[Mat](materialized: Mat, onDone: Future[Done], killSwitch: UniqueKillSwitch) extends Product with Serializable
- abstract class EventsController extends AnyRef
- type GatewayLogin = Login.type
- type GatewayLogout = Logout.type
- type GatewaySettings = ackcord.gateway.GatewaySettings
- trait GuildEventListenerMessage[A] extends EventListenerMessage[A]
- trait GuildUserEventListenerMessage[A] extends GuildEventListenerMessage[A] with UserEventListenerMessage[A]
- type JsonNull = ackcord.util.JsonNull.type
- type JsonOption[A] = ackcord.util.JsonOption[A]
- type JsonSome[A] = ackcord.util.JsonSome[A]
- type JsonUndefined = ackcord.util.JsonUndefined.type
-
case class
RequestSettings(relativeTime: Boolean = false, parallelism: Int = 4, bufferSize: Int = 32, maxRetryCount: Int = 3, overflowStrategy: OverflowStrategy = OverflowStrategy.backpressure, maxAllowedWait: FiniteDuration = 2.minutes, maxRequestsPerSecond: Int = 50, counter404s: Boolean = true) extends Product with Serializable
- parallelism
Parallelism to use for requests.
- bufferSize
The buffer size to use for waiting requests.
- maxRetryCount
The maximum amount of times a request will be retried. Only affects requests that uses retries.
- overflowStrategy
The overflow strategy to use when the buffer is full.
- maxAllowedWait
The max allowed wait time before giving up on a request.
- maxRequestsPerSecond
Max amount of requests per second before the ratelimiter will assume it's globally ratelimited, and hold off on sending requests.
- counter404s
If the ratelimiter should keep track of previous 404s, and stop letting URIs with the same destination pass.
- type Requests = ackcord.requests.Requests
- type RequestsHelper = ackcord.requests.RequestsHelper
- type SourceRequest[A] = Source[A, NotUsed]
- type Streamable[F[_]] = ackcord.util.Streamable[F]
- trait TextChannelEventListenerMessage[A] extends ChannelEventListenerMessage[A]
- trait TextGuildChannelEventListenerMessage[A] extends TextChannelEventListenerMessage[A] with GuildEventListenerMessage[A]
- trait UserEventListenerMessage[A] extends EventListenerMessage[A]
- trait VGuildChannelEventListenerMessage[A] extends ChannelEventListenerMessage[A] with GuildEventListenerMessage[A]
- class WrappedEventListenerMessage[A] extends EventListenerMessage[A]
Value Members
- val BotAuthentication: ackcord.requests.BotAuthentication.type
- val Cache: Events.type
- val GatewayLogin: Login.type
- val GatewayLogout: Logout.type
- val GatewaySettings: ackcord.gateway.GatewaySettings.type
- val JsonNull: ackcord.util.JsonNull.type
- val JsonOption: ackcord.util.JsonOption.type
- val JsonSome: ackcord.util.JsonSome.type
- val JsonUndefined: ackcord.util.JsonUndefined.type
- val Requests: ackcord.requests.Requests.type
- val Streamable: ackcord.util.Streamable.type
- implicit def flowFunctorInstance[In, Mat]: Functor[[β$0$]Flow[In, β$0$, Mat]]
- implicit def sinkContravariantInstance[Mat]: Contravariant[[α$1$]Sink[α$1$, Mat]]
- implicit val sourceMonadInstance: MonadError[SourceRequest, Throwable] with Alternative[SourceRequest]
- implicit def sourceSyntax[A, M](source: Source[A, M]): SourceFlatmap[A, M]
- object ChannelEventListenerMessage
- object DiscordClientActor
- object EventListenerBuilder extends Serializable
- object EventListenerMessage
- object EventRegistration extends Serializable
- object GuildEventListenerMessage
- object GuildUserEventListenerMessage
- object MusicManager
- object ShardShutdownManager
- object TextChannelEventListenerMessage
- object TextGuildChannelEventListenerMessage
- object VGuildChannelEventListenerMessage