Initial commit - Last War messaging system

This commit is contained in:
2026-02-19 01:33:28 -06:00
commit 38a8447a64
2162 changed files with 216183 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
============
Interactions
============
Interactions are utilized in message components and slash commands.
Attributes
==========
+----------------+----------------------+------------------------------------------------------+
| name | type | description |
+================+======================+======================================================+
| id | string | id of the interaction. |
+----------------+----------------------+------------------------------------------------------+
| application_id | string | id of the application associated to the interaction. |
+----------------+----------------------+------------------------------------------------------+
| int | type | type of interaction. |
+----------------+----------------------+------------------------------------------------------+
| data | ``?InteractionData`` | data associated with the interaction. |
+----------------+----------------------+------------------------------------------------------+
| guild | ``?Guild`` | guild interaction was triggered from, null if DM. |
+----------------+----------------------+------------------------------------------------------+
| channel | ``?Channel`` | channel interaction was triggered from. |
+----------------+----------------------+------------------------------------------------------+
| member | ``?Member`` | member that triggered interaction. |
+----------------+----------------------+------------------------------------------------------+
| user | ``User`` | user that triggered interaction. |
+----------------+----------------------+------------------------------------------------------+
| token | string | internal token for responding to interaction. |
+----------------+----------------------+------------------------------------------------------+
| version | int | version of interaction. |
+----------------+----------------------+------------------------------------------------------+
| message | ``?Message`` | message that triggered interaction. |
+----------------+----------------------+------------------------------------------------------+
| locale | ?string | The selected language of the invoking user. |
+----------------+----------------------+------------------------------------------------------+
| guild_locale | ?string | The guilds preferred locale, if invoked in a guild. |
+----------------+----------------------+------------------------------------------------------+
The locale list can be seen on `Discord API reference <https://discord.com/developers/docs/reference#locales>`_.
Functions on interaction create
===============================
The following functions are used to respond an interaction after being created ``Event::INTERACTION_CREATE``, responding interaction with wrong type throws a ``LogicException``
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
| name | description | valid for interaction type |
+==============================================================================================+=============================================================================+==================================================================+
| ``acknowledgeWithResponse(?bool $ephemeral)`` | acknowledges the interaction, creating a placeholder response to be updated | ``APPLICATION_COMMAND``, ``MESSAGE_COMPONENT``, ``MODAL_SUBMIT`` |
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
| ``acknowledge()`` | defer the interaction | ``MESSAGE_COMPONENT``, ``MODAL_SUBMIT`` |
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
| ``respondWithMessage(MessageBuilder $builder, ?bool $ephemeral)`` | responds to the interaction with a message. ephemeral is default false | ``APPLICATION_COMMAND``, ``MESSAGE_COMPONENT``, ``MODAL_SUBMIT`` |
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
| ``autoCompleteResult(array $choices)`` | responds a suggestion to options with auto complete | ``APPLICATION_COMMAND_AUTOCOMPLETE`` |
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
| ``showModal(string $title, string $custom_id, array $components, ?callable $submit = null)`` | responds to the interaction with a popup modal | ``MODAL_SUBMIT`` |
+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------+
Functions after interaction response
====================================
The following functions can be only used after interaction respond above, otherwise throws a ``RuntimeException`` “Interaction has not been responded to.”
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| name | description | return |
+========================================================================+================================================================================================+======================+
| ``updateMessage(MessageBuilder $message)`` | updates the message the interaction was triggered from. only for message component interaction | ``Promise<void>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``getOriginalResponse()`` | gets the original interaction response | ``Promise<Message>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``updateOriginalResponse(MessageBuilder $message)`` | updates the original interaction response | ``Promise<Message>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``deleteOriginalResponse()`` | deletes the original interaction response | ``Promise<void>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``sendFollowUpMessage(MessageBuilder $builder, ?bool $ephemeral)`` | sends a follow up message to the interaction. ephemeral is defalt false | ``Promise<Message>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``getFollowUpMessage(string $message_id)`` | gets a non ephemeral follow up message from the interaction | ``Promise<Message>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``updateFollowUpMessage(string $message_id, MessageBuilder $builder)`` | updates the follow up message of the interaction | ``Promise<Message>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+
| ``deleteFollowUpMessage(string $message_id)`` | deletes a follow up message from the interaction | ``Promise<void>`` |
+------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+----------------------+