#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Message {
#[prost(string, optional, tag="1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag="2")]
pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag="3")]
pub author: ::core::option::Option<super::user::User>,
#[prost(message, optional, tag="4")]
pub channel: ::core::option::Option<super::channel::Channel>,
#[prost(string, tag="5")]
pub content: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "builder", derive(derive_builder::Builder))]
#[cfg_attr(feature = "builder", builder(default, setter(into, strip_option), custom_constructor, build_fn(name = "fallible_build")))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Reaction {
#[prost(message, optional, tag="1")]
pub message: ::core::option::Option<Message>,
#[prost(string, tag="2")]
pub emoji: ::prost::alloc::string::String,
}
#[cfg(feature = "builder")]
impl Reaction {
pub fn new(emoji: impl Into<String>, message: Message) -> ReactionBuilder {
ReactionBuilder {
emoji: Some(emoji.into()),
message: Some(Some(message)),
}
}
}
#[cfg(feature = "builder")]
impl ReactionBuilder {
pub fn build(&self) -> Reaction {
self.fallible_build()
.expect("All required fields were initialized")
}
}