1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use is_macro::Is;
use serde::Serialize;
/// Represents possible chat actions.
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, Serialize, Is)]
#[serde(rename_all = "snake_case")]
#[non_exhaustive]
#[must_use]
pub enum Action {
/// About to send a text message.
Typing,
/// About to send a photo.
UploadPhoto,
/// About to send a generated video.
RecordVideo,
/// About to send a video.
UploadVideo,
/// About to send a generated voice message.
RecordVoice,
/// About to send a voice message.
UploadVoice,
/// About to send a document.
UploadDocument,
/// About to send a location.
FindLocation,
/// About to send a generated video note.
RecordVideoNote,
/// About to send a video note.
UploadVideoNote,
}