tgbot 0.47.0

A Telegram Bot library
Documentation
#![allow(missing_docs)]

use std::io::Cursor;

use tgbot::types::*;

mod cx;

use cx::Cx;

#[tokio::test]
async fn execute() {
    let mut cx = Cx::new().await;

    cx.execute_batch([(
        "delete-ephemeral-message",
        DeleteEphemeralMessage::from((1, 2, 3)),
        |x| assert!(x),
    )])
    .await;

    cx.execute_batch([
        (
            "edit-ephemeral-message-caption-base",
            EditEphemeralMessageCaption::from((1, 2, 3)),
            |x| assert!(x),
        ),
        (
            "edit-ephemeral-message-caption-all",
            EditEphemeralMessageCaption::from((1, 2, 3))
                .with_caption("test")
                .with_reply_markup([[InlineKeyboardButton::for_url("test", "example.com")]]),
            |x| assert!(x),
        ),
    ])
    .await;

    cx.execute_batch([
        (
            "edit-ephemeral-message-media-base",
            EditEphemeralMessageMedia::new((1, 2, 3), InputMediaAnimation::from(Cursor::new("animation-file"))),
            |x| assert!(x),
        ),
        (
            "edit-ephemeral-message-media-all",
            EditEphemeralMessageMedia::new((1, 2, 3), InputMediaAnimation::from(Cursor::new("animation-file")))
                .with_reply_markup([[InlineKeyboardButton::for_url("test", "example.com")]]),
            |x| assert!(x),
        ),
    ])
    .await;

    cx.execute_batch([
        (
            "edit-ephemeral-message-reply-markup-base",
            EditEphemeralMessageReplyMarkup::from(("@chat", 2, 3)),
            |x| assert!(x),
        ),
        (
            "edit-ephemeral-message-reply-markup-all",
            EditEphemeralMessageReplyMarkup::from(("@chat", 2, 3))
                .with_reply_markup([[InlineKeyboardButton::for_url("test", "example.com")]]),
            |x| assert!(x),
        ),
    ])
    .await;

    cx.execute_batch([
        (
            "edit-ephemeral-message-text-base",
            EditEphemeralMessageText::new((1, 2, 3), "test"),
            |x| assert!(x),
        ),
        (
            "edit-ephemeral-message-text-parse-mode",
            EditEphemeralMessageText::new(
                (1, 2, 3),
                InputText::from("test")
                    .with_format([TextEntity::bold(0..2)])
                    .with_format(ParseMode::Markdown),
            )
            .with_link_preview_options(LinkPreviewOptions::default())
            .with_reply_markup([[InlineKeyboardButton::for_url("test", "example.com")]]),
            |x| assert!(x),
        ),
        (
            "edit-ephemeral-message-text-entities",
            EditEphemeralMessageText::new(
                (1, 2, 3),
                InputText::from("test")
                    .with_format(ParseMode::Markdown)
                    .with_format([TextEntity::bold(0..2)]),
            )
            .with_link_preview_options(LinkPreviewOptions::default())
            .with_reply_markup([[InlineKeyboardButton::for_url("test", "example.com")]]),
            |x| assert!(x),
        ),
    ])
    .await;
}