Skip to content

Latest commit

 

History

History
104 lines (84 loc) · 15.5 KB

File metadata and controls

104 lines (84 loc) · 15.5 KB

subkt / myaa.subkt.tasks / Discord

Discord

open class Discord : DefaultTask, SubTask (source)

Task for posting to a Discord webhook. Supports normal messages, embeds, and uploading files. A predefined task instance can be accessed through Subs.discord.

discord {
    webhook("https://discordapp.com/api/webhooks/...")
    username("Gradle")
    content("This is a message")
    attachment(project.file("attachment.txt"))

    embed {
        title("Embed title")
        description("Embed description")
        color(Color.RED)

        image {
            url("https://i.imgur.com/ecfjrQj.png")
            height(480)
        }
    }
}

Types

Name Summary
Author inner class Author
Embed inner class Embed
An embed capable of rendering rich text, images and the like.
Field inner class Field
Footer inner class Footer
The footer of an embed.
Image inner class Image
The image of an embed.
Provider inner class Provider
The provider of an embed.
Thumbnail inner class Thumbnail
The thumbnail of an embed.
Video inner class Video
The video of an embed.

Constructors

Name Summary
<init> Discord()
Task for posting to a Discord webhook. Supports normal messages, embeds, and uploading files. A predefined task instance can be accessed through Subs.discord.

Properties

Name Summary
attachment val attachment: RegularFileProperty!
A file to send with the message. At least one of attachment, content or embed is required.
avatarUrl val avatarUrl: Property<String>
Override the default avatar of the webhook.
content val content: Property<String>
Message contents (up to 2000 characters). At least one of content, attachment or embed is required.
embeds val embeds: List<Discord.Embed>
A list of Embed objects currently added to this message.
tts val tts: Property<Boolean>
true if this is a TTS message.
username val username: Property<String>
Override the default username of the webhook.
webhook val webhook: Property<String>
The webhook to post to (required).

Functions

Name Summary
embed fun embed(action: Discord.Embed.() -> Unit): Unit
Add an embed to this message (up to 10 allowed). At least one of embed, content or attachment is required.
run fun run(): Unit

Inherited Functions

Name Summary
batchItems open fun <T> ItemGroup<T>.batchItems(): List<T>
Gets the items from the given item group that correspond to episodes.
item open fun <T> ItemGroup<T>.item(): T
Gets the item from the given item group that corresponds to entry.

Extension Properties

Name Summary
batch val Task.batch: String
The same as entry if this is a batch task; error otherwise.
currentTask val Task.currentTask: String
The name of this task.
entry val Task.entry: String
The entry (batch or episode) this task corresponds to.
episode val Task.episode: String
The same as entry if this is an episode task; error otherwise.
episodes val Task.episodes: List<String>
The episodes this task corresponds to. A single-item list containing episode if this is an episode task; a list of the episodes for the batch given by batch otherwise.
isBatch val Task.isBatch: Boolean
True if this task is a batch task.
release val Task.release: String
The release this task was generated for.
taskGroup val <T : Task> T.taskGroup: TaskGroup<T>
The TaskGroup instance this task belongs to.

Extension Functions

Name Summary
defaultProperty fun <T> Task.defaultProperty(default: T): Property<T>
Returns a Property with a default value set.
evaluate fun Task.evaluate(expression: String): Provider<List<String>!>!
Evaluates a string using Velocity, splits it on `
evaluateTemplate fun Task.evaluateTemplate(expression: String): Provider<String!>!
Like evaluate but only processes the template syntax, without globbing.
get fun Task.get(propertyName: String): Provider<String!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, assuming that the resulting list contains only one element.
getAs fun <T> Task.getAs(propertyName: String): Provider<T>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, cast to the given type using String.asType, assuming that the resulting list contains only one element.
getFile fun Task.getFile(filename: String): Provider<String!>!
fun Task.getFile(filename: Provider<String>): Provider<String!>!
Reads the specified file and processes it using Velocity.
getList fun Task.getList(propertyName: String): Provider<List<String>>
Searches for the given property in the Subs object's SubProperties instance, and evaluates its value using evaluate.
getListAs fun <T> Task.getListAs(propertyName: String): Provider<List<T>!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and casts the list elements to the given type using String.asType.
getRaw fun Task.getRaw(propertyName: String): String
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string. Raises an error if not found.
getRawMaybe fun Task.getRawMaybe(propertyName: String): String?
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string, possibly null.
outputFile fun Task.outputFile(extension: String): ConfigurableFileCollection
Returns a ConfigurableFileCollection containing a single file taskName.extension located in the build directory.
propertyExists fun Task.propertyExists(propertyName: String): Boolean
Returns true if the given property exists in the Subs object's SubProperties instance for the given context.