docs: complete rustdoc documentation for all public APIs (P4.12)
Added comprehensive rustdoc documentation for all TDLib modules, configuration, and utility functions. TDLib modules documented: - src/tdlib/auth.rs - AuthManager, AuthState (6 doctests) - src/tdlib/chats.rs - ChatManager (8 doctests) - src/tdlib/messages.rs - MessageManager (14 methods, 6 doctests) - src/tdlib/reactions.rs - ReactionManager (3 doctests) - src/tdlib/users.rs - UserCache, LruCache (2 doctests) Configuration and utilities: - src/config.rs - Config, ColorsConfig, GeneralConfig (4 doctests) - src/formatting.rs - format_text_with_entities (2 doctests) Documentation includes: - Detailed descriptions of all public structs and methods - Usage examples with code snippets - Parameter and return value documentation - Notes about async behavior and edge cases - Cross-references between related functions Total: 34 doctests (30 ignored for async, 4 compiled) All 464 unit tests passing ✅ Priority 4.12 (Rustdoc) - 100% complete Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,17 +3,66 @@ use tdlib_rs::enums::ReactionType;
|
||||
use tdlib_rs::functions;
|
||||
use tdlib_rs::types::ReactionTypeEmoji;
|
||||
|
||||
/// Менеджер реакций на сообщения
|
||||
/// Менеджер реакций на сообщения.
|
||||
///
|
||||
/// Управляет добавлением, удалением и получением списка доступных
|
||||
/// реакций (emoji) для сообщений в чатах.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```ignore
|
||||
/// let reaction_manager = ReactionManager::new(client_id);
|
||||
///
|
||||
/// // Получить доступные реакции
|
||||
/// let reactions = reaction_manager.get_message_available_reactions(
|
||||
/// chat_id,
|
||||
/// message_id
|
||||
/// ).await?;
|
||||
///
|
||||
/// // Добавить/удалить реакцию
|
||||
/// reaction_manager.toggle_reaction(chat_id, message_id, "👍".to_string()).await?;
|
||||
/// ```
|
||||
pub struct ReactionManager {
|
||||
/// ID клиента TDLib для API вызовов.
|
||||
client_id: i32,
|
||||
}
|
||||
|
||||
impl ReactionManager {
|
||||
/// Создает новый менеджер реакций.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `client_id` - ID клиента TDLib для API вызовов
|
||||
pub fn new(client_id: i32) -> Self {
|
||||
Self { client_id }
|
||||
}
|
||||
|
||||
/// Получить доступные реакции для сообщения
|
||||
/// Получает список доступных реакций для сообщения.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `chat_id` - ID чата
|
||||
/// * `message_id` - ID сообщения
|
||||
///
|
||||
/// # Returns
|
||||
///
|
||||
/// * `Ok(Vec<String>)` - Список доступных emoji реакций
|
||||
/// * `Err(String)` - Ошибка получения
|
||||
///
|
||||
/// # Note
|
||||
///
|
||||
/// В tdlib-rs 1.8.29 структура AvailableReactions изменилась.
|
||||
/// Временно возвращается стандартный набор из 12 популярных реакций.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```ignore
|
||||
/// let reactions = manager.get_message_available_reactions(
|
||||
/// ChatId::new(123),
|
||||
/// MessageId::new(456)
|
||||
/// ).await?;
|
||||
/// println!("Available: {:?}", reactions);
|
||||
/// ```
|
||||
pub async fn get_message_available_reactions(
|
||||
&self,
|
||||
chat_id: ChatId,
|
||||
@@ -87,7 +136,28 @@ impl ReactionManager {
|
||||
}
|
||||
}
|
||||
|
||||
/// Переключить реакцию на сообщение
|
||||
/// Переключает реакцию на сообщение (добавляет/удаляет).
|
||||
///
|
||||
/// Сначала пытается добавить реакцию. Если не удалось (уже есть),
|
||||
/// то удаляет её.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `chat_id` - ID чата
|
||||
/// * `message_id` - ID сообщения
|
||||
/// * `emoji` - Emoji реакции (например, "👍", "❤️")
|
||||
///
|
||||
/// # Returns
|
||||
///
|
||||
/// * `Ok(())` - Реакция переключена
|
||||
/// * `Err(String)` - Ошибка переключения
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```ignore
|
||||
/// // Добавить или удалить 👍
|
||||
/// manager.toggle_reaction(chat_id, message_id, "👍".to_string()).await?;
|
||||
/// ```
|
||||
pub async fn toggle_reaction(
|
||||
&self,
|
||||
chat_id: ChatId,
|
||||
|
||||
Reference in New Issue
Block a user