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(())
}
);