Skip to main content

telegram_app

Macro telegram_app 

Source
macro_rules! telegram_app {
    ($(#[$meta:meta])* $vis:vis fn $name:ident($($arg:tt)*) $(-> $ret:ty)? $body:block) => { ... };
}
Available on crate feature macros only.
Expand description

Define the WASM application entry point with Telegram SDK initialization.

The generated function is annotated with #[wasm_bindgen(start)]. It performs:

  • Environment detection via utils::check_env::is_telegram_env()
  • Debug-only mock initialization when not in Telegram
  • SDK initialization via core::init::init_sdk()?

After these steps, the provided function body is executed.

§Return type

The function may return either () or Result<(), wasm_bindgen::JsValue>.

§Example

use telegram_webapp_sdk::telegram_app;
use wasm_bindgen::JsValue;

telegram_app!(
    /// Application entry point.
    pub fn main() -> Result<(), JsValue> {
        telegram_webapp_sdk::telegram_router!();
        Ok(())
    }
);