Get desktop application:
View/edit binary Protocol Buffers messages
command represents the exact command that was specified by the user.
configs is a list of Executor configurations specified by users.
context holds context execution.
message represents the output of processing a given input command. You can construct a complex message or just use one of our helper functions: - api.NewCodeBlockMessage("body", true) - api.NewPlaintextMessage("body", true)
messages holds a collection of messages that should be dispatched to the user in the context of a given command execution. To avoid spamming, you can specify max 15 messages. Limitations: - It's available only for SocketSlack. In the future, it may be adopted across other platforms. - Interactive message filtering is not available. (https://docs.botkube.io/usage/interactive-output-filtering)
MetadataResponse represents metadata of a given plugin. Data is used to generate a plugin index file.
version is a version of a given plugin. It should follow the SemVer syntax.
description is a description of a given plugin.
json_schema is a JSON schema of a given plugin.
dependencies is a list of dependencies of a given plugin.
URL to plugin documentation.
Recommended plugin recommended
HelpResponse represents help of a given plugin.
help is the help of a given plugin. You can construct a complex message with buttons etc, or just use one of our helper functions: - api.NewCodeBlockMessage("body", true) - api.NewPlaintextMessage("body", true)
Config holds the Executor configuration.
Used in:
rawYAML contains the Executor configuration in YAML definitions. Configuration data is unique per executor. Botkube related configuration details are stored in ExecuteContext instead.
Dependency represents a dependency of a given plugin. All binaries are downloaded before the plugin is started.
Used in:
urls is the map of URL of the dependency. The key is in format of "os/arch", such as "linux/amd64".
Used in:
isInteractivitySupported is set to true only if communication platform supports interactive Messages with buttons, select menus, etc. If set to false, you should send only text based messages.
slackState represents modal state. It's available only if: - IsInteractivitySupported is set to true, - and interactive actions were used in the response Message. This is an alpha feature and may change in the future. Most likely, it will be generalized to support all communication platforms.
kubeConfig is the slice of byte representation of kubeconfig file content. it is available only if context.rbac is configured for a given plugins. Otherwise, it is empty.
message holds message details that triggered a given Executor.
incomingWebhook holds details about Botkube built-in incoming webhook configuration.
IncomingWebhookContext holds information about the built-in incoming webhook that allows triggering HandleExternalRequest on a given source.
Used in:
JSONSchema represents a JSON schema of a given plugin configuration.
Used in:
value is the string value of the JSON schema.
ref_url is the remote reference of the JSON schema.
Used in:
text is the text of the message in the raw format.
url is the URL of the message. Can be used to open the message in a browser.
parentActivityId is the ID of the parent activity. If user follows with messages in a thread, this ID represents the originating message that started that thread. Otherwise, it's the ID of the initial message.
user holds user details that wrote a given message.
Used in:
mention represents a user platforms specific mention of the user.
displayName represents user display name. It can be empty.