Trait to consolidate functionality of converting a class to JSON representation.

Trait to consolidate the methods needs to implement the \Brandon14\FossabotCommander\Contracts\Stringable interface.

Fossabot channel context data model. Contains information about the channel in which the custom API was invoked in.

Fossabot API context data model. Contains additional context about the Fossabot custom API request for more rich integrations.

Base Fossabot custom API data model.

Fossabot message context data model. This is only present when the custom API request was invoked from a chat message or command. When dispatched from an automated action, such as a timer, this will be null.

Fossabot role context data model. Defines the ID, name and type of role associated to the user.

Fossabot user context data model. Contains information about the user that invoked the custom API request.

Contract to define a 'Arrayable' object that can be converted to an array.

Fossabot channel context data model. Contains informationa bout the channel in which the custom API was invoked in.

Fossabot API context data model. Contains additional context about the Fossabot custom API request for more rich integrations.

Base Fossabot custom API data model.

Fossabot message context data model. This is only present when the custom API request was invoked from a chat message or command. When dispatched from an automated action, such as a timer, this will be null.

Fossabot role context data model. Defines the ID, name and type of role associated to the user.

Fossabot user context data model. Contains information about the user that invoked the custom API request.

Exception thrown when the context data model cannot be created from the parsed response data.

Exception thrown when the API call to get the context data fails.

Exception thrown when validating the request fails.

Generic Fossabot API exception thrown when making Fossabot custom API requests.

Generic library exception.

Exception thrown when trying to mutate properties of the \Brandon14\FossabotCommander\Contracts\Context\FossabotDataModel instances.

Exception thrown from \Brandon14\FossabotCommander\Contracts\Context\FossabotDataModel instances when accessing invalid property names.

Fossabot API exception thrown when the return status of a call is not 200, or one of the special ones (i.e. rate limit, invalid token, etc.).

Exception thrown when making a Fossabot API call results in a 400 response status.

Exception thrown when an error occurs decoding or encoding JSON data.

Exception thrown when enabling logging for the \Brandon14\FossabotCommander\Contracts\FossabotCommander class when no \Psr\Log\LoggerInterface has been provided.

Exception thrown when making a Fossabot API call, and it results in a rate limit throttled response (429).

Class to define a response for a Fossabot custom API request. This class is only tasked with returning the response string back to Fossabot, and can use any of the additional context information to make its response.

Contract to define a "Jsonable" object that can be converted to a JSON string.

Defines a "stringable" class which is one that can be converted to a string or cast to a string.

Class to define a response for a Fossabot custom API request. This class is only tasked with returning the response string back to Fossabot, and can use any of the additional context information to make its response.

The Stringable interface denotes a class as having a toString() method. Unlike most interfaces, Stringable is implicitly present on any class that has the magic toString() method defined, although it can and should be declared explicitly.