botx_api/api/v3/events/edit_event/
models.rs

1use std::collections::HashMap;
2
3use serde::{Serialize, Deserialize};
4use uuid::Uuid;
5
6use crate::api::models::*;
7
8/// Новое состояние редактируемого сообщения
9#[derive(Debug, Serialize, Deserialize, Default, Clone, Builder)]
10#[builder(setter(into, prefix = "with", strip_option))]
11pub struct EditMessageRequest {
12    /// uuid редактируемого события
13    pub sync_id: Uuid,
14
15    /// Описание события
16    pub payload: EventPayload,
17
18    /// (Default: Skip) - файл в base64 представление. Если передать null, то существующий файл удалится из события 
19    // #[serde(skip_serializing_if = "Option::is_none")]
20    #[builder(default)]
21    pub file: Option<File>,
22
23    /// опции запроса
24    #[builder(default)]
25    pub opts: EditMessageRequestOptions,
26}
27
28/// Опции запроса 
29#[derive(Debug, Serialize, Deserialize, Default, Clone, Builder)]
30#[builder(setter(into, prefix = "with", strip_option))]
31pub struct EditMessageRequestOptions {
32    /// (Default: false) - если значение true, то последующие сообщения пользователя не будут отображаться в чате, до тех пор пока не придет сообщения бота у которого это значение будет установлено в false. Разрешено только в личных чатах (1-1).
33    #[serde(skip_serializing_if = "Option::is_none")]
34    #[builder(default)]
35    pub silent_response: Option<bool>,
36
37    /// (Default: false) - если true, то меншны не будут подставляться в начало текста сообщения, а будут подставлены в соответствие с заданным форматом
38    #[serde(skip_serializing_if = "Option::is_none")]
39    #[builder(default)]
40    pub raw_mentions: Option<bool>,
41}
42
43#[derive(Debug, Serialize, Deserialize, Clone)]
44pub struct EditMessageResponse {
45    /// Нет фиксированного ответа сервера. Складируем все данные сюда
46    #[serde(flatten)]
47    pub data: HashMap<String, String>,
48}
49
50#[derive(Debug, Serialize, Deserialize, Clone)]
51pub struct EditMessageError {
52    /// Нет фиксированного ответа об ошибке. Складируем все данные сюда
53    #[serde(flatten)]
54    pub data: HashMap<String, String>,
55}