SendMessage

---functions---
messages.sendMessage#545cd15a no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true allow_paid_floodskip:flags.19?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int schedule_repeat_period:flags.24?int send_as:flags.13?InputPeer quick_reply_shortcut:flags.17?InputQuickReplyShortcut effect:flags.18?long allow_paid_stars:flags.21?long suggested_post:flags.22?SuggestedPost = Updates

Returns

Updates

Parameters

no_webpagetrueoptional
silenttrueoptional
backgroundtrueoptional
clear_drafttrueoptional
noforwardstrueoptional
update_stickersets_ordertrueoptional
invert_mediatrueoptional
allow_paid_floodskiptrueoptional
peerInputPeerrequired
reply_toInputReplyTooptional
messagestringrequired
random_idlongrequired
reply_markupReplyMarkupoptional
entitiesVector<MessageEntity>optional
schedule_dateintoptional
schedule_repeat_periodintoptional
send_asInputPeeroptional
quick_reply_shortcutInputQuickReplyShortcutoptional
effectlongoptional
allow_paid_starslongoptional
suggested_postSuggestedPostoptional

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::SendMessage {
            no_webpage: false,
            silent: false,
            background: false,
            clear_draft: false,
            noforwards: false,
            update_stickersets_order: false,
            invert_media: false,
            allow_paid_floodskip: false,
            peer: enums::InputPeer::Empty,
            reply_to: None,
            message: "Hello there!".to_string(),
            random_id: 0_i64,
            reply_markup: None,
            entities: None,
            schedule_date: None,
            schedule_repeat_period: None,
            send_as: None,
            quick_reply_shortcut: None,
            effect: None,
            allow_paid_stars: None,
            suggested_post: None,
        },
        )
        .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::SendMessage {
                no_webpage: false,
                silent: false,
                background: false,
                clear_draft: false,
                noforwards: false,
                update_stickersets_order: false,
                invert_media: false,
                allow_paid_floodskip: false,
                peer: enums::InputPeer::Empty,
                reply_to: None,
                message: "Hello there!".to_string(),
                random_id: 0_i64,
                reply_markup: None,
                entities: None,
                schedule_date: None,
                schedule_repeat_period: None,
                send_as: None,
                quick_reply_shortcut: None,
                effect: None,
                allow_paid_stars: None,
                suggested_post: None,
            },
                )
                .await?;
            println!("{result:?}");
        }
    }
    Ok(())
}