Search

---functions---
messages.search#29ee847a peer:InputPeer q:string from_id:flags.0?InputPeer saved_peer_id:flags.2?InputPeer saved_reaction:flags.3?Vector<Reaction> top_msg_id:flags.1?int filter:MessagesFilter min_date:int max_date:int offset_id:int add_offset:int limit:int max_id:int min_id:int hash:long = messages.Messages

Returns

messages.Messages

Parameters

peerInputPeerrequired
qstringrequired
from_idInputPeeroptional
saved_peer_idInputPeeroptional
saved_reactionVector<Reaction>optional
top_msg_idintoptional
filterMessagesFilterrequired
min_dateintrequired
max_dateintrequired
offset_idintrequired
add_offsetintrequired
limitintrequired
max_idintrequired
min_idintrequired
hashlongrequired

Example

Replace placeholder values with real data before running.

use ferogram::tl::functions;
use ferogram::tl::enums;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let (client, _) = ferogram::Client::quick_connect(
        "my.session",
        12345,
        "0123456789abcdef0123456789abcdef",
    )
    .await?;

    let result = client
        .invoke(
        &functions::messages::Search {
            peer: enums::InputPeer::Empty,
            q: "".to_string(),
            from_id: None,
            saved_peer_id: None,
            saved_reaction: None,
            top_msg_id: None,
            filter: enums::MessagesFilter::Empty,
            min_date: 0_i32,
            max_date: 0_i32,
            offset_id: 0_i32,
            add_offset: 0_i32,
            limit: 100_i32,
            max_id: 0_i32,
            min_id: 0_i32,
            hash: 0_i64,
        },
        )
        .await?;

    println!("{result:?}");
    Ok(())
}
use ferogram::tl::functions;
use ferogram::update::Update;
use ferogram::tl::enums;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let (client, _) = ferogram::Client::quick_connect(
        "my.session",
        12345,
        "0123456789abcdef0123456789abcdef",
    )
    .await?;

    let mut stream = client.stream_updates();
    while let Some(upd) = stream.next().await {
        if let Update::NewMessage(_msg) = upd {
            let result = client
                .invoke(
            &functions::messages::Search {
                peer: enums::InputPeer::Empty,
                q: "".to_string(),
                from_id: None,
                saved_peer_id: None,
                saved_reaction: None,
                top_msg_id: None,
                filter: enums::MessagesFilter::Empty,
                min_date: 0_i32,
                max_date: 0_i32,
                offset_id: 0_i32,
                add_offset: 0_i32,
                limit: 100_i32,
                max_id: 0_i32,
                min_id: 0_i32,
                hash: 0_i64,
            },
                )
                .await?;
            println!("{result:?}");
        }
    }
    Ok(())
}