rust_tg_bot_raw/lib.rs
1//! Low-level Telegram Bot API types and methods.
2//!
3//! This crate provides a faithful Rust port of the core Telegram Bot API layer,
4//! including all request/response types, the [`Bot`](bot::Bot) client, and
5//! helper utilities. It is designed to be used directly for low-level API
6//! access or as the foundation for the higher-level `rust-tg-bot-ext` framework.
7
8#![warn(missing_docs)]
9#![forbid(unsafe_code)]
10
11/// Internal macros for reducing boilerplate.
12#[macro_use]
13mod macros;
14
15/// The Telegram Bot client and API method implementations.
16pub mod bot;
17/// Builder types for constructing a [`Bot`](bot::Bot) with custom configuration.
18pub mod bot_builders;
19/// Builder types for Admin, Forum, and Sticker API methods.
20pub mod bot_builders_2;
21/// Builder types for business, payment, and gift API methods.
22pub mod bot_builders_3;
23/// Builder types for editing, games, inline, media, core, stories, reactions,
24/// passport, suggested posts, user profile, and verification API methods.
25pub mod bot_builders_4;
26/// Typed constants for chat types, parse modes, message entity types, etc.
27pub mod constants;
28/// Error types used throughout the crate.
29pub mod error;
30/// Helper functions for common Telegram API patterns.
31pub mod helpers;
32/// HTTP request abstraction layer.
33pub mod request;
34/// All Telegram API object types (User, Chat, Message, Update, etc.).
35pub mod types;
36/// Utility modules for date/time handling, entity parsing, markup, and more.
37pub mod utils;
38
39// Re-export serde_json so downstream crates (including tests and examples)
40// can use `rust_tg_bot_raw::serde_json` without adding it as a direct dependency.
41pub use serde_json;