panda 0.2.1

An async Rust library for Discord
Documentation
use crate::models::guild::Role;
use crate::models::user::User;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
pub struct Emoji {
    id: Option<String>,
    name: Option<String>,
    roles: Option<Vec<Role>>,
    user: Option<User>,
    require_colons: Option<bool>,
    managed: Option<bool>,
    animated: Option<bool>,
}

impl Emoji {
    pub fn id(&self) -> Option<&str> {
        self.id.as_ref().map(|s| s.as_str())
    }

    pub fn name(&self) -> Option<&str> {
        self.name.as_ref().map(|s| s.as_str())
    }

    pub fn roles(&self) -> Option<&[Role]> {
        self.roles.as_ref().map(|r| r.as_slice())
    }

    pub fn user(&self) -> Option<&User> {
        self.user.as_ref()
    }

    pub fn require_colons(&self) -> Option<bool> {
        self.require_colons
    }

    pub fn managed(&self) -> Option<bool> {
        self.managed
    }

    pub fn animated(&self) -> Option<bool> {
        self.animated
    }
}