![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.builder.integration.IntegrationModifyBuilder.kt Maven / Gradle / Ivy
package dev.kord.rest.builder.integration
import dev.kord.common.annotation.KordDsl
import dev.kord.common.entity.IntegrationExpireBehavior
import dev.kord.common.entity.optional.Optional
import dev.kord.common.entity.optional.OptionalBoolean
import dev.kord.common.entity.optional.OptionalInt
import dev.kord.common.entity.optional.delegate.delegate
import dev.kord.rest.builder.AuditRequestBuilder
import dev.kord.rest.json.request.GuildIntegrationModifyRequest
/**
* Builder for [modifying an integration](https://discord.com/developers/docs/resources/guild#modify-guild-integration).
*/
@KordDsl
public class IntegrationModifyBuilder : AuditRequestBuilder {
override var reason: String? = null
private var _expireBehavior: Optional = Optional.Missing()
/**
* the behavior when an integration subscription lapses.
*/
public var expireBehavior: IntegrationExpireBehavior? by ::_expireBehavior.delegate()
private var _expirePeriodInDays: OptionalInt = OptionalInt.Missing
/**
* Period in days where the integration will ignore lapsed subscriptions
*/
public var expirePeriodInDays: Int? by ::_expirePeriodInDays.delegate()
private var _enableEmoticons: OptionalBoolean = OptionalBoolean.Missing
/**
* whether emoticons should be synced for this integration (twitch only currently).
*/
public var enableEmoticons: Boolean? by ::_enableEmoticons.delegate()
override fun toRequest(): GuildIntegrationModifyRequest = GuildIntegrationModifyRequest(
_expireBehavior, _expirePeriodInDays, _enableEmoticons
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy