#[cfg(feature = "event")]
#[macro_export]
macro_rules! segment {
(at, $target_id:expr) => {
Elements::At(AtElement { target_id: $target_id.to_string() })
};
(at_all) => {
Elements::At(AtElement { target_id: String::from("all") })
};
(text, $text:expr) => {
Elements::Text(TextElement { text: $text.to_string() })
};
(image, $file:expr) => {
Elements::Image(ImageElement { file: $file, is_flash: false, summary: None })
};
(image, $file:expr, $is_flash:expr) => {
Elements::Image(ImageElement { file: $file, is_flash: $is_flash, summary: None })
};
(image, $file:expr, $is_flash:expr, $summary:expr) => {
Elements::Image(ImageElement { file: $file, is_flash: $is_flash, summary: $summary })
};
(reply, $message_id:expr) => {
Elements::Reply(ReplyElement { message_id: $message_id })
};
(file, $file:expr) => {
Elements::File(FileElement { file: $file })
};
(record, $file:expr) => {
Elements::Record(RecordElement { file: $file })
};
(video, $file:expr) => {
Elements::Video(VideoElement { file: $file })
};
(face, $id:expr) => {
Elements::Face(FaceElement { id: $id })
};
(json, $json:expr) => {
Elements::Json(JsonElement { data: $json.to_string() })
};
(xml, $xml:expr) => {
Elements::Xml(XmlElement { file: $xml.to_string() })
};
}