Mini App Tester ابزاری رایگان برای تست مینی اپ تلگرام بدون نوشتن کد است و JavaScript API مربوط به Telegram.WebApp را پوشش میدهد. در مرورگر معمولی در حالت mock اجرا میشود و API را شبیهسازی میکند؛ اگر داخل تلگرام باز شود، با API واقعی همان کلاینت کار میکند. اگر در حال ساخت مینی اپ تلگرام هستید، هر قابلیت را قبل از پیادهسازی اینجا امتحان کنید یا رفتار یک کلاینت خاص را ببینید.
Telegram.WebApp را شبیهسازی میکند.https://telegram-bot-api.info/telegram-mini-app-tester.html را در @BotFather بهعنوان URL مینی اپ ربات خود ثبت کنید (/newapp یا تنظیمات دکمه منو). به هاست نیازی نیست.version، platform، colorScheme، initData، themeParams و safe areaها را مقایسه کنید. داخل تلگرام، رابط ابزار به زبان کاربر نمایش داده میشود.ready، expand، close و رنگ هدر و پسزمینه.showPopup، showAlert، showConfirm و اسکنر QR.openInvoice، shareToStory، وضعیت ایموجی، حالت تمامصفحه و downloadFile.گزارش رویدادها بیش از 45 رویداد را با زمان دقیق ثبت میکند، مثل themeChanged، viewportChanged، mainButtonClicked و fullscreenChanged؛ پس دقیقاً میبینید هندلرهای شما چه چیزی دریافت میکنند.
Mini Appها در ابتدا Web App نام داشتند؛ به همین دلیل شیء API هنوز Telegram.WebApp است. حالت mock برای بررسی رابط کاربری و روند کار مناسب است: نشان میدهد چه متدهایی وجود دارند، چه برمیگردانند و کدام رویدادها رخ میدهند، و ذخیرهسازی را در localStorage شبیهسازی میکند. اما پاپآپهای نیتیو، لرزش یا داده واقعی کاربر را بازسازی نمیکند و initData آن نمونهای است که تلگرام امضا نکرده است. داخل تلگرام، تستر به API واقعی سوئیچ میکند؛ پس initData واقعی است، هر فراخوانی به کلاینت واقعی میرسد و میتوانید اعتبارسنجی دادهها را در سرور خود تست کنید.
تستر کاملاً در مرورگر شما اجرا میشود، به توکن ربات نیازی ندارد و Bot API را فراخوانی نمیکند. دادههای ذخیرهسازی شبیهسازیشده فقط در localStorage مرورگر شما میماند.
برای ساخت مینی اپ تلگرام ابتدا به یک ربات نیاز دارید: از راهنمای ساخت ربات تلگرام شروع کنید و توکن آن را بگیرید. برای اتصال دکمه منو به مینی اپ از طریق API، متد setChatMenuButton را در Bot API Tester اجرا کنید. ارسال پیام با کیبورد اینلاین در راهنمای ارسال پیام آمده است؛ دکمه web_app در چت خصوصی، مینی اپ را باز میکند. هر متد را هم میتوانید در Swagger یا مرجع متدها ببینید.
Mini App Tester را در هر مرورگری باز کنید. حالت mock آن Telegram.WebApp را شبیهسازی میکند، پس بدون ربات و کلاینت تلگرام میتوانید متدها را صدا بزنید، رویداد ایجاد کنید و ویژگیها را بررسی کنید.
بله. آدرس https://telegram-bot-api.info/telegram-mini-app-tester.html را در @BotFather از طریق /newapp یا تنظیمات دکمه منو بهعنوان URL مینی اپ ثبت کنید. داخل تلگرام از API واقعی WebApp استفاده میشود و به هیچ هاستی نیاز ندارید.
متدهای اصلی WebApp، دکمههای MainButton، SecondaryButton، BackButton و SettingsButton، پاپآپها، HapticFeedback، CloudStorage، DeviceStorage، SecureStorage، حسگرها، بیومتریک، موقعیت مکانی، مجوزها، فاکتور و استوری، وضعیت ایموجی، تمامصفحه و دانلود فایل، بهعلاوه گزارش بیش از 45 رویداد.
خیر. حالت mock از داده نمونهای استفاده میکند که تلگرام آن را امضا نکرده است، پس عمداً در اعتبارسنجی HMAC رد میشود. برای تست اعتبارسنجی سمت سرور، تستر را داخل تلگرام باز کنید تا initData واقعی بگیرید.
خیر. این صفحه اصلاً Bot API را فراخوانی نمیکند. فقط اگر بخواهید تستر را داخل تلگرام بهعنوان مینی اپ باز کنید، به یک ربات نیاز دارید.
یک ربات در @BotFather بسازید، صفحه وب خود را روی HTTPS منتشر کنید، اسکریپت https://telegram.org/js/telegram-web-app.js را به آن اضافه کنید و آدرس صفحه را با /newapp یا تنظیمات دکمه منو به ربات وصل کنید. متدهای موردنیاز Telegram.WebApp را میتوانید از قبل در همین تستر امتحان کنید.