abstract class ComponentHandler[BaseInteraction <: ComponentInteraction, InteractionTpe <: BaseInteraction] extends InteractionHandlerOps
A type handling some sort of component interaction.
- Source
- ComponentHandler.scala
- Alphabetic
- By Inheritance
- ComponentHandler
- InteractionHandlerOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ComponentHandler(requests: requests.Requests, interactionTransformer: InteractionTransformer[BaseInteraction, InteractionTpe] = InteractionTransformer.identity[BaseInteraction], acceptedComponent: ComponentType)
- interactionTransformer
A transformer to do base processing of the interaction before handling it.
- acceptedComponent
The accepted component types this component handler handles.
Abstract Value Members
- abstract def handle(implicit interaction: InteractionTpe): InteractionResponse
Handle the interaction here.
Handle the interaction here.
- interaction
The interaction to handle.
- returns
A response to the interaction.
- abstract def makeBaseInteraction(invocationInfo: InteractionInvocationInfo, message: Message, interaction: RawInteraction, customId: String, cacheSnapshot: Option[CacheSnapshot]): BaseInteraction
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def acknowledgeLoading: InteractionResponse
A response with a promise that you'll handle the interaction later.
A response with a promise that you'll handle the interaction later. You are yourself responsible for fulfilling that promise.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def async(handle: (AsyncToken) => OptFuture[_])(implicit interaction: Interaction): InteractionResponse
Specify that the response to this interaction will be done async.
Specify that the response to this interaction will be done async.
- handle
The action to do async.
- Definition Classes
- InteractionHandlerOps
- def asyncLoading(handle: (AsyncToken) => OptFuture[_])(implicit interaction: InteractionTpe): InteractionResponse
Respond with a promise that you'll handle the interaction later.
Respond with a promise that you'll handle the interaction later. Stops showing the loading icon.
- handle
The handler for later.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def deleteOriginalMessage(implicit async: AsyncMessageToken): OptFuture[NotUsed]
Delete the original message sent as a response to the interaction.
Delete the original message sent as a response to the interaction.
- Definition Classes
- InteractionHandlerOps
- def editOriginalMessage(content: util.JsonOption[String] = JsonUndefined, embeds: util.JsonOption[Seq[OutgoingEmbed]] = JsonUndefined, files: util.JsonOption[Seq[CreateMessageFile]] = JsonUndefined, allowedMentions: util.JsonOption[AllowedMention] = JsonUndefined, components: util.JsonOption[Seq[ActionRow]] = JsonUndefined)(implicit async: AsyncMessageToken): OptFuture[Json]
Edits the original message sent as a response to the interaction.
Edits the original message sent as a response to the interaction.
- content
The content of the message.
- embeds
The embeds of the message.
- files
The files of the message.
- allowedMentions
The allowed mentions of the message.
- components
The components of the message.
- Definition Classes
- InteractionHandlerOps
- def editPreviousMessage(messageId: MessageId, content: util.JsonOption[String] = JsonUndefined, embeds: util.JsonOption[Seq[OutgoingEmbed]] = JsonUndefined, files: util.JsonOption[Seq[CreateMessageFile]] = JsonUndefined, allowedMentions: util.JsonOption[AllowedMention] = JsonUndefined, components: util.JsonOption[Seq[ActionRow]] = JsonUndefined)(implicit async: AsyncToken): OptFuture[Json]
Edits a previous message sent as a part of the interaction.
Edits a previous message sent as a part of the interaction.
- messageId
The message to edit.
- content
The content of the message.
- embeds
The embeds of the message.
- files
The files of the message.
- allowedMentions
The allowed mentions of the message.
- components
The components of the message.
- Definition Classes
- InteractionHandlerOps
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def executionContext: ExecutionContext
- Definition Classes
- InteractionHandlerOps
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getOriginalMessage()(implicit async: AsyncMessageToken): OptFuture[Message]
Get the original message sent as a response to the interaction.
Get the original message sent as a response to the interaction.
- Definition Classes
- InteractionHandlerOps
- def getPreviousMessage(messageId: MessageId)(implicit async: AsyncMessageToken): OptFuture[Message]
Get a previous message sent as a part of the interaction.
Get a previous message sent as a part of the interaction.
- messageId
The message to get.
- Definition Classes
- InteractionHandlerOps
- def handleRaw(clientId: String, interaction: RawInteraction, customId: String, cacheSnapshot: Option[CacheSnapshot]): Option[InteractionResponse]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val requests: requests.Requests
- Definition Classes
- ComponentHandler → InteractionHandlerOps
- def sendAsyncEmbed(embeds: Seq[OutgoingEmbed], content: String = "", tts: Option[Boolean] = None, files: Seq[CreateMessageFile] = Seq.empty, allowedMentions: Option[AllowedMention] = None, components: Seq[ActionRow] = Nil)(implicit async: AsyncToken): OptFuture[RawMessage]
Send an async message as part of the interaction with embeds as the primary thing.
Send an async message as part of the interaction with embeds as the primary thing.
- embeds
The embeds of the message.
- content
The content of the message.
- tts
If the message will be tts.
- files
The files to send with the message.
- allowedMentions
The allowed mentions of the message.
- components
The components of the message.
- Definition Classes
- InteractionHandlerOps
- def sendAsyncMessage(content: String, tts: Option[Boolean] = None, files: Seq[CreateMessageFile] = Seq.empty, embeds: Seq[OutgoingEmbed] = Nil, allowedMentions: Option[AllowedMention] = None, components: Seq[ActionRow] = Nil)(implicit async: AsyncToken): OptFuture[RawMessage]
Send an async message as part of the interaction with text content as the primary thing.
Send an async message as part of the interaction with text content as the primary thing.
- content
The content of the message.
- tts
If the message will be tts.
- files
The files to send with the message.
- embeds
The embeds of the message.
- allowedMentions
The allowed mentions of the message.
- components
The components of the message.
- Definition Classes
- InteractionHandlerOps
- def sendEmbed(embeds: Seq[OutgoingEmbed], content: Option[String] = None, tts: Option[Boolean] = None, allowedMentions: Option[AllowedMention] = None, flags: MessageFlags = MessageFlags.None, components: Seq[ActionRow] = Nil, attachments: Option[Seq[PartialAttachment]] = None): AsyncMessageable
Send a message as response to the interaction with embeds as the primary thing.
Send a message as response to the interaction with embeds as the primary thing.
- embeds
The embeds of the message.
- content
The content of the message.
- tts
If the message will be tts.
- allowedMentions
The allowed mentions of the message.
- flags
The flags of the message.
- components
The components of the message. // * @param attachments The attachments of the message. Not currently implemented.
- Definition Classes
- InteractionHandlerOps
- def sendMessage(content: String, tts: Option[Boolean] = None, embeds: Seq[OutgoingEmbed] = Nil, allowedMentions: Option[AllowedMention] = None, flags: MessageFlags = MessageFlags.None, components: Seq[ActionRow] = Nil): AsyncMessageable
Send a message as response to the interaction with text content as the primary thing.
Send a message as response to the interaction with text content as the primary thing.
- content
The content of the message.
- tts
If the message will be tts.
- embeds
The embeds of the message.
- allowedMentions
The allowed mentions of the message.
- flags
The flags of the message.
- components
The components of the message. // * @param attachments The attachments of the message. Not currently implemented.
- Definition Classes
- InteractionHandlerOps
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])