/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
 *
 * The version of the OpenAPI document: 1.0.1
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateDiscordSettingsRequest {
    /// Custom display name for the webhook (1-80 chars). Empty string resets to default (\"Zernio\"). Cannot contain \"clyde\" or \"discord\".
    #[serde(rename = "webhookUsername", skip_serializing_if = "Option::is_none")]
    pub webhook_username: Option<String>,
    /// Custom avatar URL. Empty string resets to default bot avatar.
    #[serde(rename = "webhookAvatarUrl", skip_serializing_if = "Option::is_none")]
    pub webhook_avatar_url: Option<String>,
    /// Switch to a different channel in the same guild. Must be a text (0), announcement (5), or forum (15) channel.
    #[serde(rename = "channelId", skip_serializing_if = "Option::is_none")]
    pub channel_id: Option<String>,
}

impl UpdateDiscordSettingsRequest {
    pub fn new() -> UpdateDiscordSettingsRequest {
        UpdateDiscordSettingsRequest {
            webhook_username: None,
            webhook_avatar_url: None,
            channel_id: None,
        }
    }
}
