pub struct JoinConversation {
pub initiating_user_id: String,
pub participants_snapshot: Vec<String>,
pub created_at: DateTime<Utc>,
}Expand description
§Example
use chrono::{DateTime, NaiveDateTime, Utc};
use twitter_archive::convert::date_time_iso_8601;
use twitter_archive::structs::direct_message::JoinConversation;
let created_at_string = "2023-08-12T17:10:37.000Z";
let created_at_native_time = NaiveDateTime::parse_from_str(&created_at_string, date_time_iso_8601::FORMAT).unwrap();
let created_at_date_time = DateTime::<Utc>::from_naive_utc_and_offset(created_at_native_time, Utc);
let json = format!(r#"{{
"initiatingUserId": "1111111111111111111",
"participantsSnapshot": [
"2222",
"3333",
"4444"
],
"createdAt": "{created_at_string}"
}}"#);
let data: JoinConversation = serde_json::from_str(&json).unwrap();
// De-serialized properties
assert_eq!(data.initiating_user_id, "1111111111111111111");
assert_eq!(data.participants_snapshot[0], "2222");
assert_eq!(data.participants_snapshot[1], "3333");
assert_eq!(data.participants_snapshot[2], "4444");
assert_eq!(data.created_at, created_at_date_time);
// Re-serialize is equivalent to original data
assert_eq!(serde_json::to_string_pretty(&data).unwrap(), json);Fields§
§initiating_user_id: StringID of user responsible for initializing DM group
URL formats;
- Desktop: https://twitter.com/i/user/{initiating_user_id}
Note; does not work if not logged-in. Thanks be to Mr. Musk !-D
§Example JSON data
{ "initiatingUserId": "1111111111111111111" }participants_snapshot: Vec<String>List of user IDs at one-point invited, if not involved, with DM group
URL formats;
- Desktop:
https://twitter.com/i/user/{participants_snapshot[0]}
Note; does not work if not logged-in. Thanks be to Mr. Musk !-D
§Example JSON data
{
"participantsSnapshot": [
"2222",
"3333",
"4444"
]
}created_at: DateTime<Utc>Date time stamp when DM group was created
§Example JSON data
{ "createdAt": "2020-01-20T21:42:09.068Z" }Trait Implementations§
Source§impl Clone for JoinConversation
impl Clone for JoinConversation
Source§fn clone(&self) -> JoinConversation
fn clone(&self) -> JoinConversation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JoinConversation
impl Debug for JoinConversation
Source§impl<'de> Deserialize<'de> for JoinConversation
impl<'de> Deserialize<'de> for JoinConversation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for JoinConversation
impl Display for JoinConversation
Auto Trait Implementations§
impl Freeze for JoinConversation
impl RefUnwindSafe for JoinConversation
impl Send for JoinConversation
impl Sync for JoinConversation
impl Unpin for JoinConversation
impl UnwindSafe for JoinConversation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more