use serde::Serialize;
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, Serialize)]
#[serde(rename_all = "snake_case")]
#[non_exhaustive]
#[must_use]
pub enum Action {
Typing,
UploadPhoto,
RecordVideo,
UploadVideo,
RecordAudio,
UploadAudio,
UploadDocument,
FindLocation,
RecordVideoNote,
UploadVideoNote,
}
impl Action {
#[must_use]
pub fn is_typing(self) -> bool {
self == Self::Typing
}
#[must_use]
pub fn is_upload_photo(self) -> bool {
self == Self::UploadPhoto
}
#[must_use]
pub fn is_record_video(self) -> bool {
self == Self::RecordVideo
}
#[must_use]
pub fn is_upload_video(self) -> bool {
self == Self::UploadVideo
}
#[must_use]
pub fn is_record_audio(self) -> bool {
self == Self::RecordAudio
}
#[must_use]
pub fn is_upload_audio(self) -> bool {
self == Self::UploadAudio
}
#[must_use]
pub fn is_upload_document(self) -> bool {
self == Self::UploadDocument
}
#[must_use]
pub fn is_find_location(self) -> bool {
self == Self::FindLocation
}
#[must_use]
pub fn is_record_video_note(self) -> bool {
self == Self::RecordVideoNote
}
#[must_use]
pub fn is_upload_video_note(self) -> bool {
self == Self::UploadVideoNote
}
}