farcaster_rs/casts/mod.rs
1//! The Casts module that handles protocol casts
2//!
3//! # Quickstart with the Casts module
4//!
5//! 1. Use the publish_cast function
6//! ```no_run
7//! use farcaster_rs::{Account, Farcaster};
8//!
9//! let account: Account = Account::from_mnemonic("mnemonic phrase", None).await?;
10//! let farcaster: Farcaster = Farcaster::new("eth provider", account).await?;
11//!
12//! // Publish a cast.
13//! // 1st Param: Content
14//! // 2nd & 3rd Param: Parent Cast Hash & Parent User FID
15//! // Used for replying to a cast
16//! let cast = farcaster.publish_cast("cast content", Some("optional parent hash to reply to"), Some(0)).await?;
17//! ```
18//!
19//! //! 2. Use the get_casts function
20//! ```no_run
21//! use farcaster_rs::{Account, Farcaster};
22//!
23//! let account: Account = Account::from_mnemonic("mnemonic phrase", None).await?;
24//! let farcaster: Farcaster = Farcaster::new("eth provider", account).await?;
25//!
26//! // Get the casts of a user.
27//! // All three functions return the same thing, just different methods of fetching
28//! // 1st Param: FID/username/address
29//! // 2nd Param: Optional Limit of how many to fetch (max 100)//!
30//! // 3rd Param: Optional cursor for pagination
31//! let casts = farcaster.get_casts_by_fid(0, None, None).await?;
32//! let casts = farcaster.get_casts_by_username("dwr", None, None).await?;
33//! let casts = farcaster.get_casts_by_address("0x000...", None, None).await?;
34//! ```
35//!
36//! //! //! 3. Use the delete_cast function
37//! ```no_run
38//! use farcaster_rs::{Account, Farcaster};
39//!
40//! let account: Account = Account::from_mnemonic("mnemonic phrase", None).await?;
41//! let farcaster: Farcaster = Farcaster::new("eth provider", account).await?;
42//!
43//! let delete_cast = farcaster.delete_cast_by_cast_hash("cast hash").await?;
44//! ```
45
46pub mod delete_cast;
47pub mod get_casts;
48/// Publish a cast to the protocol
49/// ```no_run
50/// use farcaster_rs::{Account, Farcaster};
51///
52/// let account: Account = Account::from_mnemonic("mnemonic phrase", None).await?;
53/// let farcaster: Farcaster = Farcaster::new("eth provider", account).await?;
54///
55/// // Publish a cast.
56/// // 1st Param: Content
57/// // 2nd & 3rd Param: Parent Cast Hash & Parent User FID
58/// // Used for replying to a cast
59/// let cast = farcaster.publish_cast("cast content", Some("optional parent hash to reply to"), Some(0)).await?;
60/// ```
61pub mod publish_cast;