p

ackcord

package ackcord

Source
ackcord.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ackcord
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package cachehandlers
  2. package commands
  3. package data
  4. package gateway
  5. package interactions
  6. package lavaplayer
  7. package requests
  8. package syntax
  9. package util
  10. package voice

Type Members

  1. sealed trait APIMessage extends AnyRef

    Base trait normal messages.

  2. case class APIMessageCacheUpdate[Data](data: Data, sendEvent: (CacheState) => List[APIMessage], handler: CacheHandler[Data], registry: CacheTypeRegistry, dispatch: Dispatch[_]) extends CacheEvent with Product with Serializable

    An event that should publish an APIMessage.

    An event that should publish an APIMessage.

    Data

    The data it contains.

    data

    The data.

    sendEvent

    A function to gather the needed variables to send the event.

    handler

    The handler to process the data of this event with.

    registry

    The handler registry that the event will use to update the snapshot.

    dispatch

    The low level message that created this update.

  3. case class BatchedAPIMessageCacheUpdate(updates: Seq[APIMessageCacheUpdate[_]]) extends CacheEvent with Product with Serializable
  4. type BotAuthentication = ackcord.requests.BotAuthentication.type
  5. type Cache = Events
  6. trait CacheEvent extends AnyRef

    Represents some sort of event handled by the cache

  7. case class CacheSettings(processor: CacheProcessor = MemoryCacheSnapshot.defaultCacheProcessor, 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.

  8. trait CacheSnapshot extends AnyRef

    A representation of the cache.

  9. trait CacheSnapshotWithMaps extends CacheSnapshot

    A cache snapshot where the getters can use the maps to get their data.

  10. case class CacheState(current: MemoryCacheSnapshot, previous: MemoryCacheSnapshot) extends Product with Serializable

    Represents the state of the cache for a single point.

    Represents the state of the cache for a single point.

    current

    The current values in the cache.

    previous

    The previous values in the cache.

  11. trait ChannelEventListenerMessage[A] extends EventListenerMessage[A]
  12. 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 = GatewayProtocol.ackcordEventDecoders, intents: GatewayIntents = GatewayIntents.AllNonPrivileged, system: ActorSystem[Nothing] = ActorSystem(Behaviors.ignore, "AckCord"), 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.

  13. trait DiscordClient extends AnyRef

    Trait used to interface with Discord stuff from high level.

  14. class DiscordClientActor extends AbstractBehavior[Command]
  15. class DiscordClientCore extends DiscordClient
  16. trait EventListener[A, Mat] extends AnyRef
  17. 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
  18. trait EventListenerMessage[A] extends AnyRef
  19. case class EventRegistration[Mat](materialized: Mat, onDone: Future[Done], killSwitch: UniqueKillSwitch) extends Product with Serializable
  20. case class Events(publish: Sink[CacheEvent, NotUsed], subscribe: Source[(CacheEvent, CacheState), NotUsed], toGatewayPublish: Sink[GatewayMessage[Any], NotUsed], toGatewaySubscribe: Source[GatewayMessage[Any], NotUsed], fromGatewayPublish: Sink[GatewayMessage[Any], NotUsed], fromGatewaySubscribe: Source[GatewayMessage[Any], NotUsed], parallelism: Int)(implicit system: ActorSystem[Nothing]) extends Product with Serializable

    Houses streams to interact with events and messages sent to and from Discord.

    Houses streams to interact with events and messages sent to and from Discord.

    publish

    A sink used for publishing. Any elements connected to this sink is published to the cache.

    subscribe

    A source to subscribe to. All updates are pushed here.

    parallelism

    How many cache updates to construct at the same time.

  21. abstract class EventsController extends AnyRef
  22. type GatewayLogin = Login.type
  23. type GatewayLogout = Logout.type
  24. type GatewaySettings = ackcord.gateway.GatewaySettings
  25. trait GuildEventListenerMessage[A] extends EventListenerMessage[A]
  26. trait GuildUserEventListenerMessage[A] extends GuildEventListenerMessage[A] with UserEventListenerMessage[A]
  27. type JsonNull = ackcord.util.JsonNull.type
  28. type JsonOption[A] = ackcord.util.JsonOption[A]
  29. type JsonSome[A] = ackcord.util.JsonSome[A]
  30. type JsonUndefined = ackcord.util.JsonUndefined.type
  31. case class MemoryCacheSnapshot(seq: Long, botUser: @@[User, BotUser], dmChannelMap: SnowflakeMap[DMChannel, DMChannel], groupDmChannelMap: SnowflakeMap[GroupDMChannel, GroupDMChannel], unavailableGuildMap: SnowflakeMap[Guild, UnavailableGuild], guildMap: SnowflakeMap[Guild, GatewayGuild], messageMap: SnowflakeMap[TextChannel, SnowflakeMap[Message, Message]], lastTypedMap: SnowflakeMap[TextChannel, SnowflakeMap[User, Instant]], userMap: SnowflakeMap[User, User], banMap: SnowflakeMap[Guild, SnowflakeMap[User, Ban]], processor: CacheProcessor) extends CacheSnapshotWithMaps with Product with Serializable

    Represents the cache at some point in time

  32. class OptFuture[+A] extends AnyRef

    A future that might be missing a value.

    A future that might be missing a value. A nice wrapper around Future[Option[A]]

  33. case class PubSubBufferSize(perProducer: Int = 16, consumer: Int = 256) extends Product with Serializable
  34. case class RequestCacheUpdate[Data](requestResponse: RequestResponse[Data], request: Request[Data], registry: CacheTypeRegistry) extends CacheEvent with Product with Serializable

    A cache event that will try to put the data of the response into the cache.

    A cache event that will try to put the data of the response into the cache.

    Data

    The type of the request response.

    requestResponse

    The response to the request.

    request

    The request used to get the response.

    registry

    The handler registry that the event will use to update the snapshot.

  35. class RequestPermissionException extends Exception
  36. 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.

  37. type Requests = ackcord.requests.Requests
  38. type RequestsHelper = ackcord.requests.RequestsHelper
  39. class SnowflakeMap[K, +V] extends AbstractMap[SnowflakeType[K], V] with StrictOptimizedMapOps[SnowflakeType[K], V, Map, SnowflakeMap[K, V]] with Serializable
  40. type SourceRequest[A] = Source[A, NotUsed]
  41. type Streamable[F[_]] = ackcord.util.Streamable[F]
  42. trait TextChannelEventListenerMessage[A] extends ChannelEventListenerMessage[A]
  43. trait TextGuildChannelEventListenerMessage[A] extends TextChannelEventListenerMessage[A] with GuildEventListenerMessage[A]
  44. trait UserEventListenerMessage[A] extends EventListenerMessage[A]
  45. trait VGuildChannelEventListenerMessage[A] extends ChannelEventListenerMessage[A] with GuildEventListenerMessage[A]
  46. class WrappedEventListenerMessage[A] extends EventListenerMessage[A]

Deprecated Type Members

  1. trait RequestRunner[F[_]] extends AnyRef
    Annotations
    @deprecated
    Deprecated

    (Since version 0.17) Prefer RequestHelper

Value Members

  1. val BotAuthentication: ackcord.requests.BotAuthentication.type
  2. val Cache: Events.type
  3. val GatewayLogin: Login.type
  4. val GatewayLogout: Logout.type
  5. val GatewaySettings: ackcord.gateway.GatewaySettings.type
  6. val JsonNull: ackcord.util.JsonNull.type
  7. val JsonOption: ackcord.util.JsonOption.type
  8. val JsonSome: ackcord.util.JsonSome.type
  9. val JsonUndefined: ackcord.util.JsonUndefined.type
  10. val Requests: ackcord.requests.Requests.type
  11. val Streamable: ackcord.util.Streamable.type
  12. implicit def flowFunctorInstance[In, Mat]: Functor[[β$0$]Flow[In, β$0$, Mat]]
  13. implicit def sinkContravariantInstance[Mat]: Contravariant[[α$1$]Sink[α$1$, Mat]]
  14. implicit val sourceMonadInstance: MonadError[SourceRequest, Throwable] with Alternative[SourceRequest]
  15. implicit def sourceSyntax[A, M](source: Source[A, M]): SourceFlatmap[A, M]
  16. object APIMessage
  17. object APIMessageCacheUpdate extends Serializable
  18. object AckCord
  19. object CacheEventCreator
  20. object CacheSnapshot
  21. object CacheStreams
  22. object ChannelEventListenerMessage
  23. object DiscordClientActor
  24. object DiscordShard
  25. object EventListenerBuilder extends Serializable
  26. object EventListenerMessage
  27. object EventRegistration extends Serializable
  28. object Events extends Serializable
  29. object GuildEventListenerMessage
  30. object GuildUserEventListenerMessage
  31. object MemoryCacheSnapshot extends Serializable
  32. object MusicManager
  33. object OptFuture
  34. object RequestCacheUpdate extends Serializable
  35. object RequestRunner
  36. object ShardShutdownManager
  37. object SnowflakeMap extends Serializable
  38. object TextChannelEventListenerMessage
  39. object TextGuildChannelEventListenerMessage
  40. object VGuildChannelEventListenerMessage

Inherited from AnyRef

Inherited from Any

Ungrouped