{"id":1843,"date":"2026-07-26T17:51:22","date_gmt":"2026-07-26T14:21:22","guid":{"rendered":"https:\/\/fapremium.ir\/blog\/?p=1843"},"modified":"2026-07-26T18:02:36","modified_gmt":"2026-07-26T14:32:36","slug":"telegram-serverless-bot-tutorial","status":"publish","type":"post","link":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless)"},"content":{"rendered":"<p><!-- \u0639\u0646\u0648\u0627\u0646 \u0645\u0642\u0627\u0644\u0647: \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0628\u0627 Telegram Serverless\u061b \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0647\u0645\u0631\u0627\u0647 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u0639\u0646\u0648\u0627\u0646 \u0633\u0626\u0648: Telegram Serverless \u0686\u06cc\u0633\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0646\u0627\u0645\u06a9 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc: telegram-serverless-bot-tutorial \u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0635\u0644\u06cc: \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0645\u062a\u0627 \u062f\u06cc\u0633\u06a9\u0631\u06cc\u067e\u0634\u0646: Telegram Serverless \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f. \u0686\u06a9\u06cc\u062f\u0647: \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc Telegram Serverless \u0627\u0645\u06a9\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u06a9\u062f \u0628\u06a9\u200c\u0627\u0646\u062f \u0631\u0628\u0627\u062a\u200c\u0647\u0627 \u0648 \u0645\u06cc\u0646\u06cc\u200c\u0627\u067e\u200c\u0647\u0627 \u0631\u0627 \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062e\u0648\u062f\u0634 \u0641\u0631\u0627\u0647\u0645 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0646\u062d\u0648\u0647 \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u060c \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u060c \u0627\u062a\u0635\u0627\u0644 \u0631\u0628\u0627\u062a\u060c \u0630\u062e\u06cc\u0631\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0634\u06cc\u0634\u0647\u200c\u0627\u06cc\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 API\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0647\u0645\u0631\u0627\u0647 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. --><\/p>\n<article class=\"fp-article telegram-serverless-guide\" dir=\"rtl\">\n<header class=\"article-header\">\n<p class=\"article-lead\">\u062a\u0627 \u0647\u0645\u06cc\u0646 \u0686\u0646\u062f \u0648\u0642\u062a \u067e\u06cc\u0634\u060c \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u0627\u06cc\u062f \u0647\u0627\u0633\u062a \u06cc\u0627 \u0633\u0631\u0648\u0631 \u062a\u0647\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0631\u062f\u06cc\u062f\u060c \u062f\u0627\u0645\u0646\u0647 \u0648 SSL \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0631\u062f\u06cc\u062f\u060c Webhook \u0645\u06cc\u200c\u0633\u0627\u062e\u062a\u06cc\u062f \u0648 \u0647\u0645\u06cc\u0634\u0647 \u0646\u06af\u0631\u0627\u0646 \u0642\u0637\u0639\u200c\u0634\u062f\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0628\u0627\u062a \u0628\u0648\u062f\u06cc\u062f. \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a Telegram Serverless \u0628\u062e\u0634\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0633\u06cc\u0631 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a. \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u06a9\u062f \u0628\u06a9\u200c\u0627\u0646\u062f \u0628\u0639\u0636\u06cc \u0627\u0632 \u0631\u0628\u0627\u062a\u200c\u0647\u0627 \u0648 \u0645\u06cc\u0646\u06cc\u200c\u0627\u067e\u200c\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062e\u0648\u062f \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u0633\u0627\u062f\u0647 \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0641\u0646\u06cc \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 Telegram Serverless \u0686\u06cc\u0633\u062a\u060c \u0686\u0647 \u062a\u0641\u0627\u0648\u062a\u06cc \u0628\u0627 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc \u062f\u0627\u0631\u062f\u060c \u0686\u06af\u0648\u0646\u0647 \u0641\u0639\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0686\u0637\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 JavaScript \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0648\u0627\u0642\u0639\u06cc \u0633\u0627\u062e\u062a \u06a9\u0647 \u067e\u06cc\u0627\u0645 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f\u060c \u062f\u06a9\u0645\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u062f\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u062f \u0648 \u0628\u0647 API \u06cc\u06a9 \u0633\u0627\u06cc\u062a \u0645\u062a\u0635\u0644 \u0634\u0648\u062f.<\/p>\n<\/header>\n<nav class=\"article-toc\" aria-label=\"\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\">\n<h2>\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/h2>\n<ol>\n<li><a href=\"#what-is-telegram-serverless\">Telegram Serverless \u0686\u06cc\u0633\u062a\u061f<\/a><\/li>\n<li><a href=\"#traditional-bot\">\u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0642\u0628\u0644\u0627\u064b \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0631\u062f\u061f<\/a><\/li>\n<li><a href=\"#advantages\">\u0645\u0632\u0627\u06cc\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631<\/a><\/li>\n<li><a href=\"#requirements\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0634\u0631\u0648\u0639 \u06a9\u0627\u0631<\/a><\/li>\n<li><a href=\"#enable-serverless\">\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc Serverless \u062f\u0631 BotFather<\/a><\/li>\n<li><a href=\"#create-project\">\u0633\u0627\u062e\u062a \u0627\u0648\u0644\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647<\/a><\/li>\n<li><a href=\"#first-bot\">\u0633\u0627\u062e\u062a \u0627\u0648\u0644\u06cc\u0646 \u0631\u0628\u0627\u062a \u067e\u0627\u0633\u062e\u200c\u06af\u0648<\/a><\/li>\n<li><a href=\"#commands\">\u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc \u0631\u0628\u0627\u062a<\/a><\/li>\n<li><a href=\"#inline-buttons\">\u0633\u0627\u062e\u062a \u062f\u06a9\u0645\u0647 \u0634\u06cc\u0634\u0647\u200c\u0627\u06cc<\/a><\/li>\n<li><a href=\"#database\">\u0630\u062e\u06cc\u0631\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633<\/a><\/li>\n<li><a href=\"#external-api\">\u0627\u062a\u0635\u0627\u0644 \u0631\u0628\u0627\u062a \u0628\u0647 API \u062e\u0627\u0631\u062c\u06cc<\/a><\/li>\n<li><a href=\"#project-structure\">\u0633\u0627\u062e\u062a\u0627\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647<\/a><\/li>\n<li><a href=\"#testing\">\u062a\u0633\u062a \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a<\/a><\/li>\n<li><a href=\"#limitations\">\u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc Telegram Serverless<\/a><\/li>\n<li><a href=\"#use-cases\">\u0686\u0647 \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc Serverless \u0645\u0646\u0627\u0633\u0628\u200c\u0627\u0646\u062f\u061f<\/a><\/li>\n<li><a href=\"#security\">\u0646\u06a9\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0645\u0647\u0645<\/a><\/li>\n<li><a href=\"#faq\">\u0633\u0624\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/a><\/li>\n<\/ol>\n<\/nav>\n<section id=\"what-is-telegram-serverless\">\n<h2>Telegram Serverless \u0686\u06cc\u0633\u062a\u061f<\/h2>\n<p>Telegram Serverless \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627\u06cc \u0627\u0628\u0631\u06cc \u0628\u0631\u0627\u06cc \u0628\u06a9\u200c\u0627\u0646\u062f \u0631\u0628\u0627\u062a\u200c\u0647\u0627 \u0648 Mini App\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634\u060c \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0628\u0647\u200c\u062c\u0627\u06cc \u0627\u062c\u0627\u0631\u0647 \u0633\u0631\u0648\u0631 \u0648 \u0627\u062c\u0631\u0627\u06cc \u062f\u0627\u0626\u0645\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc JavaScript \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0645\u0646\u062a\u0634\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0647\u0631 \u0632\u0645\u0627\u0646 \u06cc\u06a9 \u0631\u0648\u06cc\u062f\u0627\u062f \u0645\u0627\u0646\u0646\u062f \u067e\u06cc\u0627\u0645 \u062c\u062f\u06cc\u062f\u060c \u0641\u0634\u0631\u062f\u0646 \u062f\u06a9\u0645\u0647\u060c Inline Query \u06cc\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0639\u0636\u0648\u06cc\u062a \u0627\u062a\u0641\u0627\u0642 \u0628\u06cc\u0641\u062a\u062f\u060c \u062a\u0644\u06af\u0631\u0627\u0645 Handler \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0622\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0639\u0628\u0627\u0631\u062a Serverless \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u0627 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0647\u06cc\u0686 \u0633\u0631\u0648\u0631\u06cc \u062f\u0631 \u06a9\u0627\u0631 \u0646\u06cc\u0633\u062a. \u0633\u0631\u0648\u0631 \u0647\u0645\u0686\u0646\u0627\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f\u060c \u0627\u0645\u0627 \u062a\u0647\u06cc\u0647\u060c \u0646\u06af\u0647\u062f\u0627\u0631\u06cc\u060c \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648 \u0645\u0642\u06cc\u0627\u0633\u200c\u062f\u0647\u06cc \u0622\u0646 \u0628\u0631 \u0639\u0647\u062f\u0647 \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a. \u0634\u0645\u0627 \u0641\u0642\u0637 \u0645\u0646\u0637\u0642 \u0631\u0628\u0627\u062a \u0631\u0627 \u0645\u06cc\u200c\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<aside class=\"article-note\"><strong>\u0646\u06a9\u062a\u0647 \u0645\u0647\u0645:<\/strong><br \/>\nTelegram Serverless \u0628\u0627 \u0633\u0631\u0648\u06cc\u0633 Bot API \u062a\u0641\u0627\u0648\u062a \u062f\u0627\u0631\u062f. Bot API \u0631\u0627\u0628\u0637 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0627 \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a\u061b \u0627\u0645\u0627 Serverless \u0645\u062d\u06cc\u0637\u06cc \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062e\u0648\u062f \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u062d\u0633\u0648\u0628 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/aside>\n<\/section>\n<section id=\"traditional-bot\">\n<h2>\u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0642\u0628\u0644\u0627\u064b \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0631\u062f\u061f<\/h2>\n<p>\u062f\u0631 \u0631\u0648\u0634 \u0633\u0646\u062a\u06cc\u060c \u067e\u0633 \u0627\u0632 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062f\u0631 BotFather \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 PHP\u060c Python\u060c JavaScript \u06cc\u0627 \u0632\u0628\u0627\u0646 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0648\u06cc \u0647\u0627\u0633\u062a \u06cc\u0627 VPS \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0631\u062f\u06cc\u062f. \u0633\u067e\u0633 \u0631\u0628\u0627\u062a \u0628\u0647 \u06cc\u06a9\u06cc \u0627\u0632 \u062f\u0648 \u0631\u0648\u0634 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u06a9\u0631\u062f:<\/p>\n<ul>\n<li><strong>Long Polling:<\/strong> \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0631\u062a\u0628 \u0628\u0627 \u0645\u062a\u062f getUpdates \u0627\u0632 \u062a\u0644\u06af\u0631\u0627\u0645 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u0631\u06cc\u0627\u0641\u062a \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0631\u062f.<\/li>\n<li><strong>Webhook:<\/strong> \u062a\u0644\u06af\u0631\u0627\u0645 \u0647\u0631 \u067e\u06cc\u0627\u0645 \u062c\u062f\u06cc\u062f \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0622\u062f\u0631\u0633 HTTPS \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0631\u062f.<\/li>\n<\/ul>\n<p>\u062f\u0631 \u0647\u0631 \u062f\u0648 \u0631\u0648\u0634\u060c \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u0631\u0648\u0634\u0646\u200c\u0645\u0627\u0646\u062f\u0646 \u0633\u0631\u0648\u0631\u060c \u062a\u0646\u0638\u06cc\u0645 SSL\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0637\u0627\u0647\u0627\u060c \u0627\u0645\u0646\u06cc\u062a\u060c \u0645\u0635\u0631\u0641 \u0645\u0646\u0627\u0628\u0639\u060c \u062b\u0628\u062a \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627 \u0648 \u0645\u0642\u06cc\u0627\u0633\u200c\u062f\u0647\u06cc \u0631\u0628\u0627\u062a \u0628\u0631 \u0639\u0647\u062f\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0628\u0648\u062f. \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Bot API \u0646\u06cc\u0632 Webhook \u0648 getUpdates \u0631\u0627 \u062f\u0648 \u0631\u0648\u0634 \u0627\u0635\u0644\u06cc \u0648 \u063a\u06cc\u0631\u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a Update \u0645\u0639\u0631\u0641\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0627 Telegram Serverless\u060c \u0628\u062e\u0634 \u062f\u0631\u06cc\u0627\u0641\u062a \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0648 \u0627\u062c\u0631\u0627\u06cc Handler\u0647\u0627 \u062a\u0648\u0633\u0637 \u062e\u0648\u062f \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0648 \u0645\u062a\u0648\u0633\u0637\u060c \u062f\u06cc\u06af\u0631 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0639\u0645\u0648\u0645\u06cc \u0647\u0645\u06cc\u0634\u0647 \u0631\u0648\u0634\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p>\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0645\u0644 \u0645\u062a\u062f\u0647\u0627 \u0648 \u0633\u0627\u062e\u062a\u0627\u0631 Update\u0647\u0627 \u062f\u0631 <a href=\"https:\/\/core.telegram.org\/bots\/api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Telegram Bot API<\/a> \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f.<\/p>\n<\/section>\n<section id=\"advantages\">\n<h2>\u0645\u0632\u0627\u06cc\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631<\/h2>\n<h3>\u06f1. \u062d\u0630\u0641 \u0647\u0632\u06cc\u0646\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0647\u0627\u0633\u062a \u0648 VPS<\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0633\u0627\u062f\u0647 \u062f\u06cc\u06af\u0631 \u0645\u062c\u0628\u0648\u0631 \u0646\u06cc\u0633\u062a\u06cc\u062f \u062f\u0631 \u0647\u0645\u0627\u0646 \u0627\u0628\u062a\u062f\u0627\u06cc \u06a9\u0627\u0631 \u0633\u0631\u0648\u0631 \u062a\u0647\u06cc\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc\u060c \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0634\u062e\u0635\u06cc\u060c \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9\u060c \u0645\u0633\u0627\u0628\u0642\u0647\u200c\u0647\u0627 \u0648 MVP\u0647\u0627 \u0627\u0647\u0645\u06cc\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u062f.<\/p>\n<h3>\u06f2. \u062d\u0630\u0641 \u062a\u0646\u0638\u06cc\u0645 \u062f\u0633\u062a\u06cc Webhook<\/h3>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u060c Webhook \u062a\u0648\u0633\u0637 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06cc\u0627 \u062d\u0630\u0641\u200c\u06a9\u0631\u062f\u0646 Handler\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0648\u0636\u0639\u06cc\u062a Webhook \u0631\u0627 \u0647\u0645\u06af\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u0622\u062f\u0631\u0633 \u0645\u0633\u062a\u0642\u0644\u06cc \u0631\u0627 \u0628\u0627 \u0645\u062a\u062f setWebhook \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f.<\/p>\n<h3>\u06f3. \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062f\u0627\u062e\u0644\u06cc<\/h3>\n<p>Telegram Serverless \u06cc\u06a9 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 SQLite \u0648 \u0627\u0628\u0632\u0627\u0631 Query Builder \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u067e\u0631\u0648\u0698\u0647 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f. \u0628\u0647 \u06a9\u0645\u06a9 \u0622\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646\u060c \u0648\u0636\u0639\u06cc\u062a \u06af\u0641\u062a\u06af\u0648\u060c \u0627\u0645\u062a\u06cc\u0627\u0632\u0647\u0627\u060c \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0631\u0627 \u0628\u06cc\u0646 \u0627\u062c\u0631\u0627\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062d\u0641\u0638 \u06a9\u0631\u062f.<\/p>\n<h3>\u06f4. \u0645\u0642\u06cc\u0627\u0633\u200c\u062f\u0647\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631<\/h3>\n<p>\u062f\u0631 \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0645\u0639\u0645\u0648\u0644\u06cc\u060c \u0627\u0641\u0632\u0627\u06cc\u0634 \u0646\u0627\u06af\u0647\u0627\u0646\u06cc \u062a\u0639\u062f\u0627\u062f \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627\u0639\u062b \u067e\u0631\u0634\u062f\u0646 \u0645\u0646\u0627\u0628\u0639 \u0647\u0627\u0633\u062a \u06cc\u0627 \u06a9\u0646\u062f\u0634\u062f\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u0634\u0648\u062f. \u062f\u0631 \u0645\u0639\u0645\u0627\u0631\u06cc Serverless \u0627\u062c\u0631\u0627\u06cc \u06a9\u062f \u0628\u0631 \u0627\u0633\u0627\u0633 \u0631\u0648\u06cc\u062f\u0627\u062f \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0628\u0631 \u0639\u0647\u062f\u0647 \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3>\u06f5. \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 Bot API<\/h3>\n<p>SDK \u062f\u0627\u062e\u0644\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0627\u0645\u06a9\u0627\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u062a\u062f\u0647\u0627\u06cc Bot API \u0645\u0627\u0646\u0646\u062f sendMessage\u060c editMessageText \u0648 answerCallbackQuery \u0631\u0627 \u0628\u062f\u0648\u0646 \u0648\u0627\u0631\u062f\u06a9\u0631\u062f\u0646 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0648\u06a9\u0646 Bot API \u062f\u0631 \u0647\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<h3>\u06f6. \u0627\u0645\u06a9\u0627\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc<\/h3>\n<p>\u0631\u0628\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 HTTP \u0628\u0647 API \u0633\u0627\u06cc\u062a\u060c \u0633\u0627\u0645\u0627\u0646\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u060c \u0633\u0631\u0648\u06cc\u0633 \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc\u060c \u0633\u0627\u0645\u0627\u0646\u0647 \u067e\u0631\u062f\u0627\u062e\u062a \u06cc\u0627 \u0647\u0631 \u0648\u0628\u200c\u0633\u0631\u0648\u06cc\u0633 \u062f\u06cc\u06af\u0631\u06cc \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 Serverless \u0641\u0642\u0637 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u06a9\u0627\u0645\u0644\u0627\u064b \u0645\u0633\u062a\u0642\u0644 \u0646\u06cc\u0633\u062a \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0644\u0627\u06cc\u0647 \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u0645\u06cc\u0627\u0646 \u062a\u0644\u06af\u0631\u0627\u0645 \u0648 \u0633\u0627\u06cc\u062a \u0634\u0645\u0627 \u0646\u06cc\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f.<\/p>\n<\/section>\n<section id=\"requirements\">\n<h2>\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0634\u0631\u0648\u0639 \u06a9\u0627\u0631<\/h2>\n<p>\u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0622\u0645\u0648\u0632\u0634 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul>\n<li>\u06cc\u06a9 \u062d\u0633\u0627\u0628 \u0641\u0639\u0627\u0644 \u062a\u0644\u06af\u0631\u0627\u0645<\/li>\n<li>\u06cc\u06a9 \u0631\u0628\u0627\u062a \u0633\u0627\u062e\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u0627 BotFather<\/li>\n<li>\u0646\u0635\u0628 Node.js \u0646\u0633\u062e\u0647 \u06f1\u06f8 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631<\/li>\n<li>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0628\u0627 JavaScript<\/li>\n<li>\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 Terminal\u060c PowerShell \u06cc\u0627 Command Prompt<\/li>\n<\/ul>\n<p>\u0628\u0631\u062e\u0644\u0627\u0641 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627\u06cc \u0642\u062f\u06cc\u0645\u06cc\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0647 \u062f\u0627\u0645\u0646\u0647\u060c SSL\u060c cPanel\u060c \u0647\u0627\u0633\u062a PHP \u06cc\u0627 IP \u062b\u0627\u0628\u062a \u0646\u06cc\u0627\u0632 \u0646\u062f\u0627\u0631\u06cc\u062f.<\/p>\n<\/section>\n<section id=\"enable-serverless\">\n<h2>\u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc Telegram Serverless \u062f\u0631 BotFather<\/h2>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0648\u0627\u0631\u062f \u0631\u0628\u0627\u062a \u0631\u0633\u0645\u06cc BotFather \u0634\u0648\u06cc\u062f \u0648 \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f:<\/p>\n<ol>\n<li>\u06af\u0641\u062a\u06af\u0648 \u0628\u0627 <code>@BotFather<\/code> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0627\u0632 \u0645\u0646\u0648\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u060c \u0631\u0628\u0627\u062a \u0645\u0648\u0631\u062f\u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u06af\u0632\u06cc\u0646\u0647 <strong>Serverless<\/strong> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0642\u0627\u0628\u0644\u06cc\u062a Serverless \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a \u0631\u0648\u0634\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0648\u0627\u0631\u062f \u0628\u062e\u0634 <strong>CLI Access<\/strong> \u0634\u0648\u06cc\u062f.<\/li>\n<li>\u06cc\u06a9 Access Token \u0645\u062e\u0635\u0648\u0635 CLI \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<aside class=\"article-warning\"><strong>\u0647\u0634\u062f\u0627\u0631 \u0627\u0645\u0646\u06cc\u062a\u06cc:<\/strong><br \/>\n\u062a\u0648\u06a9\u0646 CLI \u0628\u0627 \u062a\u0648\u06a9\u0646 \u0645\u0639\u0645\u0648\u0644\u06cc Bot API \u0641\u0631\u0642 \u062f\u0627\u0631\u062f. \u0647\u06cc\u0686\u200c\u06a9\u062f\u0627\u0645 \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0648\u06a9\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06a9\u0627\u0646\u0627\u0644\u060c \u06af\u0631\u0648\u0647\u060c \u0645\u062e\u0632\u0646 \u0639\u0645\u0648\u0645\u06cc GitHub\u060c \u062a\u0635\u0648\u06cc\u0631 \u0622\u0645\u0648\u0632\u0634\u06cc \u06cc\u0627 \u0641\u0627\u06cc\u0644 \u0642\u0627\u0628\u0644 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u0646\u062a\u0634\u0631 \u0646\u06a9\u0646\u06cc\u062f.<\/aside>\n<p>\u062a\u0648\u06a9\u0646 CLI \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u067e\u0631\u0648\u0698\u0647 \u0645\u062d\u0644\u06cc \u0628\u0647 \u0645\u062d\u06cc\u0637 \u0627\u0628\u0631\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0633\u0627\u062e\u062a\u0627\u0631\u06cc \u0634\u0628\u06cc\u0647 <code>app&lt;id&gt;:&lt;secret&gt;<\/code> \u062f\u0627\u0631\u062f.<\/p>\n<\/section>\n<section id=\"create-project\">\n<h2>\u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647 Telegram Serverless<\/h2>\n<p>Terminal \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npm create @tgcloud\/bot my-telegram-bot\r\n```\r\n\r\ncd my-telegram-bot<\/code><\/pre>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0622\u0645\u0627\u062f\u0647 \u0628\u0627 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0648 \u067e\u0648\u0634\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0646\u0627\u0645 <code>my-telegram-bot<\/code> \u062f\u0644\u062e\u0648\u0627\u0647 \u0627\u0633\u062a \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0633\u067e\u0633 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0628\u0647 \u0631\u0628\u0627\u062a \u062e\u0648\u062f \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud login<\/code><\/pre>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 \u0634\u0645\u0627 Access Token \u062f\u0631\u06cc\u0627\u0641\u062a\u200c\u0634\u062f\u0647 \u0627\u0632 BotFather \u062e\u0648\u0627\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u067e\u0633 \u0627\u0632 \u0648\u0631\u0648\u062f \u0645\u0648\u0641\u0642\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u062a\u0635\u0627\u0644 \u062f\u0631 \u067e\u0648\u0634\u0647 \u0645\u062d\u0644\u06cc <code>.tgcloud<\/code> \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud status<\/code><\/pre>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u062a\u0641\u0627\u0648\u062a \u06a9\u062f \u0645\u062d\u0644\u06cc \u0628\u0627 \u0646\u0633\u062e\u0647 \u0645\u0646\u062a\u0634\u0631\u0634\u062f\u0647 \u0646\u06cc\u0632 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud diff<\/code><\/pre>\n<\/section>\n<section id=\"first-bot\">\n<h2>\u0633\u0627\u062e\u062a \u0627\u0648\u0644\u06cc\u0646 \u0631\u0628\u0627\u062a \u067e\u0627\u0633\u062e\u200c\u06af\u0648<\/h2>\n<p>\u062f\u0631 Telegram Serverless \u0647\u0631 \u0646\u0648\u0639 Update \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f Handler \u0645\u062e\u0635\u0648\u0635 \u062e\u0648\u062f\u0634 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0639\u0627\u062f\u06cc\u060c \u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n<pre><code class=\"language-text\">handlers\/message.js<\/code><\/pre>\n<p>\u0645\u062d\u062a\u0648\u0627\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api } from 'sdk';\r\n```\r\n\r\nexport default async function (message) {\r\nconst chatId = message.chat.id;\r\nconst text = message.text || '';\r\n\r\n```\r\nawait api.sendMessage({\r\n    chat_id: chatId,\r\n    text: `\u0633\u0644\u0627\u0645! \u067e\u06cc\u0627\u0645 \u0634\u0645\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0634\u062f:\\n\\n${text}`\r\n});\r\n```\r\n\r\n}<\/code><\/pre>\n<p>\u062a\u0627\u0628\u0639 Export\u0634\u062f\u0647 \u0647\u0646\u06af\u0627\u0645 \u062f\u0631\u06cc\u0627\u0641\u062a \u067e\u06cc\u0627\u0645 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0634\u06cc\u0621 <code>message<\/code> \u0647\u0645\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u06cc\u0627\u0645 \u062a\u0644\u06af\u0631\u0627\u0645\u060c \u0634\u0627\u0645\u0644 \u0634\u0646\u0627\u0633\u0647 \u06af\u0641\u062a\u06af\u0648\u060c \u0645\u062a\u0646\u060c \u0641\u0631\u0633\u062a\u0646\u062f\u0647 \u0648 \u0633\u0627\u06cc\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u0627\u0633\u062a.<\/p>\n<p>\u0645\u062a\u062f <code>api.sendMessage<\/code> \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 SDK \u062a\u0644\u06af\u0631\u0627\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0646\u06cc\u0627\u0632\u06cc \u0646\u06cc\u0633\u062a \u0622\u062f\u0631\u0633 <code>api.telegram.org<\/code> \u06cc\u0627 \u062a\u0648\u06a9\u0646 \u0631\u0628\u0627\u062a \u0631\u0627 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u062f\u0631 \u06a9\u062f \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n<\/section>\n<section id=\"commands\">\n<h2>\u0645\u062f\u06cc\u0631\u06cc\u062a \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc \/start \u0648 \/help<\/h2>\n<p>\u062f\u0631 \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0648\u0627\u0642\u0639\u06cc \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0646\u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u0647 \u062a\u0645\u0627\u0645 \u067e\u06cc\u0627\u0645\u200c\u0647\u0627 \u067e\u0627\u0633\u062e \u06cc\u06a9\u0633\u0627\u0646 \u0628\u062f\u0647\u06cc\u0645. \u0646\u0645\u0648\u0646\u0647 \u0632\u06cc\u0631 \u062f\u0633\u062a\u0648\u0631\u0647\u0627\u06cc <code>\/start<\/code> \u0648 <code>\/help<\/code> \u0631\u0627 \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api } from 'sdk';\r\n```\r\n\r\nexport default async function (message) {\r\nconst chatId = message.chat.id;\r\nconst text = (message.text || '').trim();\r\n\r\n```\r\nif (text === '\/start') {\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text:\r\n            '\u0633\u0644\u0627\u0645! \u0628\u0647 \u0631\u0628\u0627\u062a \u0646\u0645\u0648\u0646\u0647 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f.\\n\\n' +\r\n            '\u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u0631\u0627\u0647\u0646\u0645\u0627 \u062f\u0633\u062a\u0648\u0631 \/help \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f.'\r\n    });\r\n\r\n    return;\r\n}\r\n\r\nif (text === '\/help') {\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text:\r\n            '\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0631\u0628\u0627\u062a:\\n\\n' +\r\n            '\/start - \u0634\u0631\u0648\u0639 \u06a9\u0627\u0631\\n' +\r\n            '\/help - \u0646\u0645\u0627\u06cc\u0634 \u0631\u0627\u0647\u0646\u0645\u0627\\n' +\r\n            '\/about - \u062f\u0631\u0628\u0627\u0631\u0647 \u0631\u0628\u0627\u062a'\r\n    });\r\n\r\n    return;\r\n}\r\n\r\nif (text === '\/about') {\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text: '\u0627\u06cc\u0646 \u0631\u0628\u0627\u062a \u0628\u0627 Telegram Serverless \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.'\r\n    });\r\n\r\n    return;\r\n}\r\n\r\nawait api.sendMessage({\r\n    chat_id: chatId,\r\n    text: '\u062f\u0633\u062a\u0648\u0631 \u0648\u0627\u0631\u062f\u0634\u062f\u0647 \u0631\u0627 \u0645\u062a\u0648\u062c\u0647 \u0646\u0634\u062f\u0645. \u0627\u0632 \/help \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.'\r\n});\r\n```\r\n\r\n}<\/code><\/pre>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u062a\u0631 \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0645\u0646\u0637\u0642 \u062f\u0633\u062a\u0648\u0631\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u062f\u0627\u062e\u0644 \u067e\u0648\u0634\u0647 <code>lib<\/code> \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 Handler \u0627\u0635\u0644\u06cc \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u0637\u0648\u0644\u0627\u0646\u06cc \u0646\u0634\u0648\u062f.<\/p>\n<\/section>\n<section id=\"inline-buttons\">\n<h2>\u0633\u0627\u062e\u062a \u062f\u06a9\u0645\u0647 \u0634\u06cc\u0634\u0647\u200c\u0627\u06cc \u062f\u0631 \u0631\u0628\u0627\u062a<\/h2>\n<p>\u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc Inline \u06cc\u06a9\u06cc \u0627\u0632 \u067e\u0631\u06a9\u0627\u0631\u0628\u0631\u062f\u062a\u0631\u06cc\u0646 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0647\u0633\u062a\u0646\u062f. \u062f\u0631 \u0646\u0645\u0648\u0646\u0647 \u0632\u06cc\u0631\u060c \u06a9\u0627\u0631\u0628\u0631 \u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631 <code>\/start<\/code> \u062f\u0648 \u062f\u06a9\u0645\u0647 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api } from 'sdk';\r\n```\r\n\r\nexport default async function (message) {\r\nconst chatId = message.chat.id;\r\nconst text = (message.text || '').trim();\r\n\r\n```\r\nif (text !== '\/start') {\r\n    return;\r\n}\r\n\r\nawait api.sendMessage({\r\n    chat_id: chatId,\r\n    text: '\u06cc\u06a9\u06cc \u0627\u0632 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:',\r\n    reply_markup: {\r\n        inline_keyboard: [\r\n            [\r\n                {\r\n                    text: '\u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u062f\u0645\u0627\u062a',\r\n                    callback_data: 'show_services'\r\n                }\r\n            ],\r\n            [\r\n                {\r\n                    text: '\u0648\u0631\u0648\u062f \u0628\u0647 \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc',\r\n                    url: 'https:\/\/fapremium.ir\/'\r\n                }\r\n            ]\r\n        ]\r\n    }\r\n});\r\n```\r\n\r\n}<\/code><\/pre>\n<p>&#8220;`<\/p>\n<p>\u062f\u06a9\u0645\u0647 \u0627\u0648\u0644 \u06cc\u06a9 Callback \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0627\u06cc\u062f \u062f\u0631 Handler \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 <code>callback_query<\/code> \u067e\u0631\u062f\u0627\u0632\u0634 \u0634\u0648\u062f. \u062f\u06a9\u0645\u0647 \u062f\u0648\u0645 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0647 \u0648\u0628\u200c\u0633\u0627\u06cc\u062a <a href=\"https:\/\/fapremium.ir\/\">\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc<\/a> \u0647\u062f\u0627\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0644\u06cc\u06a9 \u062f\u06a9\u0645\u0647 \u0627\u0648\u0644\u060c \u0641\u0627\u06cc\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<pre><code class=\"language-text\">handlers\/callback_query.js<\/code><\/pre>\n<p>\u0633\u067e\u0633 \u0627\u06cc\u0646 \u06a9\u062f \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api } from 'sdk';\r\n```\r\n\r\nexport default async function (callbackQuery) {\r\nconst data = callbackQuery.data;\r\nconst chatId = callbackQuery.message?.chat?.id;\r\n\r\n```\r\nawait api.answerCallbackQuery({\r\n    callback_query_id: callbackQuery.id\r\n});\r\n\r\nif (!chatId) {\r\n    return;\r\n}\r\n\r\nif (data === 'show_services') {\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text:\r\n            '\u062e\u062f\u0645\u0627\u062a \u0642\u0627\u0628\u0644 \u0627\u0631\u0627\u0626\u0647:\\n\\n' +\r\n            '\u2022 \u062a\u0644\u06af\u0631\u0627\u0645 \u067e\u0631\u0645\u06cc\u0648\u0645\\n' +\r\n            '\u2022 \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a\u0627\u0631\u0632\\n' +\r\n            '\u2022 \u0628\u0648\u0633\u062a \u06a9\u0627\u0646\u0627\u0644 \u062a\u0644\u06af\u0631\u0627\u0645\\n' +\r\n            '\u2022 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644'\r\n    });\r\n}\r\n```\r\n\r\n}<\/code><\/pre>\n<p>\u0627\u062c\u0631\u0627\u06cc <code>answerCallbackQuery<\/code> \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0631\u062f\u061b \u0632\u06cc\u0631\u0627 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u062d\u0627\u0644\u062a \u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062f\u06a9\u0645\u0647 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u0644\u06af\u0631\u0627\u0645 \u0645\u062a\u0648\u0642\u0641 \u0634\u0648\u062f.<\/p>\n<\/section>\n<section id=\"database\">\n<h2>\u0630\u062e\u06cc\u0631\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062f\u0627\u062e\u0644\u06cc<\/h2>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0645\u0647\u0645 Telegram Serverless \u0628\u0627 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0633\u0627\u062f\u0647 \u0627\u0628\u0631\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062f\u0627\u062e\u0644\u06cc \u0622\u0646 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u062a\u0639\u062f\u0627\u062f \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0647\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0641\u0627\u06cc\u0644 <code>schema.js<\/code> \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { table, integer, text } from 'sdk\/db';\r\n```\r\n\r\nexport const users = table('users', {\r\nuserId: integer('user_id').primaryKey(),\r\nfirstName: text('first_name'),\r\nusername: text('username'),\r\nmessageCount: integer('message_count').notNull().default(0)\r\n});<\/code><\/pre>\n<p>\u0633\u067e\u0633 Handler \u067e\u06cc\u0627\u0645 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api, db } from 'sdk';\r\n```\r\n\r\nimport { sql } from 'sdk\/db';\r\nimport { users } from 'schema';\r\n\r\nexport default async function (message) {\r\nconst chatId = message.chat.id;\r\nconst user = message.from;\r\n\r\n```\r\nif (!user) {\r\n    return;\r\n}\r\n\r\nconst [savedUser] = await db\r\n    .insert(users)\r\n    .values({\r\n        userId: user.id,\r\n        firstName: user.first_name || '',\r\n        username: user.username || '',\r\n        messageCount: 1\r\n    })\r\n    .onConflictDoUpdate({\r\n        target: users.userId,\r\n        set: {\r\n            firstName: user.first_name || '',\r\n            username: user.username || '',\r\n            messageCount: sql`${users.messageCount} + 1`\r\n        }\r\n    })\r\n    .returning()\r\n    .run();\r\n\r\nawait api.sendMessage({\r\n    chat_id: chatId,\r\n    text: `\u0633\u0644\u0627\u0645 ${savedUser.firstName}\u060c \u062a\u0627\u06a9\u0646\u0648\u0646 ${savedUser.messageCount} \u067e\u06cc\u0627\u0645 \u0628\u0631\u0627\u06cc \u0645\u0646 \u0641\u0631\u0633\u062a\u0627\u062f\u0647\u200c\u0627\u06cc\u062f.`\r\n});\r\n```\r\n\r\n}<\/code><\/pre>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u063a\u06cc\u06cc\u0631 Schema\u060c \u0641\u0642\u0637 \u0627\u0646\u062a\u0634\u0627\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u06a9\u0627\u0641\u06cc \u0646\u06cc\u0633\u062a \u0648 \u0628\u0627\u06cc\u062f Migration \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0631\u0627 \u0646\u06cc\u0632 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud push\r\n```\r\n\r\nnpx tgcloud migrate<\/code><\/pre>\n<p>\u062f\u0633\u062a\u0648\u0631 <code>push<\/code> \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0631\u0627 \u0645\u0646\u062a\u0634\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062f\u0633\u062a\u0648\u0631 <code>migrate<\/code> \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062a\u0639\u0631\u06cc\u0641\u200c\u0634\u062f\u0647 \u062f\u0631 Schema \u0631\u0627 \u0631\u0648\u06cc \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<\/section>\n<section id=\"external-api\">\n<h2>\u0627\u062a\u0635\u0627\u0644 \u0631\u0628\u0627\u062a Serverless \u0628\u0647 API \u062e\u0627\u0631\u062c\u06cc<\/h2>\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0631\u0628\u0627\u062a\u200c\u0647\u0627 \u0628\u0627\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u0627\u0632 \u0633\u0627\u06cc\u062a \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 \u062f\u06cc\u06af\u0631\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u06cc \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0627\u0632 API \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0628\u062e\u0648\u0627\u0646\u062f.<\/p>\n<p>\u062f\u0631 Telegram Serverless \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 <code>fetch<\/code> \u0645\u0648\u062c\u0648\u062f \u062f\u0631 SDK \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f:<\/p>\n<pre><code class=\"language-javascript\">import { api, fetch } from 'sdk';\r\n```\r\n\r\nexport default async function (message) {\r\nconst chatId = message.chat.id;\r\nconst text = (message.text || '').trim();\r\n\r\n```\r\nif (!text.startsWith('\/order ')) {\r\n    return;\r\n}\r\n\r\nconst orderCode = text.replace('\/order ', '').trim();\r\n\r\nif (!\/^[0-9]{4,20}$\/.test(orderCode)) {\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text: '\u06a9\u062f \u0633\u0641\u0627\u0631\u0634 \u0645\u0639\u062a\u0628\u0631 \u0646\u06cc\u0633\u062a.'\r\n    });\r\n\r\n    return;\r\n}\r\n\r\ntry {\r\n    const response = await fetch(\r\n        `https:\/\/example.com\/api\/orders\/${orderCode}`,\r\n        {\r\n            method: 'GET',\r\n            headers: {\r\n                Accept: 'application\/json'\r\n            }\r\n        }\r\n    );\r\n\r\n    if (!response.ok) {\r\n        throw new Error(`API error: ${response.status}`);\r\n    }\r\n\r\n    const result = await response.json();\r\n\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text:\r\n            `\u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 ${orderCode}:\\n\\n` +\r\n            `\u0645\u062d\u0635\u0648\u0644: ${result.product}\\n` +\r\n            `\u0648\u0636\u0639\u06cc\u062a: ${result.status}`\r\n    });\r\n} catch (error) {\r\n    console.error('Order API failed', error);\r\n\r\n    await api.sendMessage({\r\n        chat_id: chatId,\r\n        text: '\u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0645\u0645\u06a9\u0646 \u0646\u06cc\u0633\u062a. \u06a9\u0645\u06cc \u0628\u0639\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.'\r\n    });\r\n}\r\n```\r\n\r\n}<\/code><\/pre>\n<p>\u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0648\u0627\u0642\u0639\u06cc \u0646\u0628\u0627\u06cc\u062f \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062d\u0633\u0627\u0633 \u0633\u0641\u0627\u0631\u0634 \u0635\u0631\u0641\u0627\u064b \u0628\u0627 \u062f\u0627\u0646\u0633\u062a\u0646 \u06a9\u062f \u0633\u0641\u0627\u0631\u0634 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f. \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0645\u0627\u0644\u06a9\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0628\u0627 \u0634\u0646\u0627\u0633\u0647 \u062a\u0644\u06af\u0631\u0627\u0645\u060c \u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06cc\u0644\u060c \u062a\u0648\u06a9\u0646 \u06cc\u06a9\u200c\u0628\u0627\u0631\u0645\u0635\u0631\u0641 \u06cc\u0627 \u0627\u0645\u0636\u0627\u06cc \u0627\u0645\u0646 API \u0628\u0631\u0631\u0633\u06cc \u0634\u0648\u062f.<\/p>\n<h3>\u0646\u0645\u0648\u0646\u0647 \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a POST<\/h3>\n<pre><code class=\"language-javascript\">import { fetch } from 'sdk';\r\n```\r\n\r\nconst response = await fetch('https:\/\/example.com\/api\/tickets', {\r\nmethod: 'POST',\r\nheaders: {\r\n'Content-Type': 'application\/json',\r\nAccept: 'application\/json'\r\n},\r\nbody: JSON.stringify({\r\ntelegram_user_id: 123456789,\r\nsubject: '\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc',\r\nmessage: '\u067e\u06cc\u0627\u0645 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u06a9\u0627\u0631\u0628\u0631'\r\n})\r\n});\r\n\r\nif (!response.ok) {\r\nthrow new Error(`Request failed: ${response.status}`);\r\n}\r\n\r\nconst result = await response.json();<\/code><\/pre>\n<p>&#8220;`<\/p>\n<p>\u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0627\u0645\u06a9\u0627\u0646 \u0633\u0627\u062e\u062a \u0645\u0639\u0645\u0627\u0631\u06cc \u062a\u0631\u06a9\u06cc\u0628\u06cc \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f\u061b \u06cc\u0639\u0646\u06cc \u0631\u0627\u0628\u0637 \u0631\u0628\u0627\u062a \u0648 \u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0635\u0644\u06cc \u0633\u0641\u0627\u0631\u0634\u200c\u0647\u0627\u060c \u067e\u0631\u062f\u0627\u062e\u062a\u200c\u0647\u0627 \u0648 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0647\u0645\u0686\u0646\u0627\u0646 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 \u0628\u0627\u0642\u06cc \u0628\u0645\u0627\u0646\u062f.<\/p>\n<\/section>\n<section id=\"project-structure\">\n<h2>\u0633\u0627\u062e\u062a\u0627\u0631 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 Telegram Serverless<\/h2>\n<p>\u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0627\u06cc\u0647 \u067e\u0631\u0648\u0698\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<pre><code class=\"language-text\">my-telegram-bot\/\r\n```\r\n\r\n\u251c\u2500\u2500 handlers\/\r\n\u2502   \u251c\u2500\u2500 message.js\r\n\u2502   \u2514\u2500\u2500 callback_query.js\r\n\u251c\u2500\u2500 lib\/\r\n\u2502   \u251c\u2500\u2500 validation.js\r\n\u2502   \u251c\u2500\u2500 messages.js\r\n\u2502   \u2514\u2500\u2500 api-client.js\r\n\u251c\u2500\u2500 docs\/\r\n\u251c\u2500\u2500 schema.js\r\n\u251c\u2500\u2500 package.json\r\n\u251c\u2500\u2500 AGENTS.md\r\n\u2514\u2500\u2500 .tgcloud\/<\/code><\/pre>\n<h3>\u067e\u0648\u0634\u0647 handlers<\/h3>\n<p>\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0648\u0634\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f. \u0646\u0627\u0645 \u0647\u0631 Handler \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u0648\u0639 Update \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u0645\u0627\u0646\u0646\u062f:<\/p>\n<ul>\n<li><code>message.js<\/code> \u0628\u0631\u0627\u06cc \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f<\/li>\n<li><code>callback_query.js<\/code> \u0628\u0631\u0627\u06cc \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647\u200c\u0647\u0627<\/li>\n<li><code>inline_query.js<\/code> \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc Inline<\/li>\n<li><code>chat_join_request.js<\/code> \u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0639\u0636\u0648\u06cc\u062a<\/li>\n<\/ul>\n<h3>\u067e\u0648\u0634\u0647 lib<\/h3>\n<p>\u06a9\u062f\u0647\u0627\u06cc \u0645\u0634\u062a\u0631\u06a9 \u0645\u0627\u0646\u0646\u062f \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc\u060c \u0633\u0627\u062e\u062a \u0645\u062a\u0646 \u067e\u06cc\u0627\u0645\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 API \u0648 \u062a\u0648\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0648\u0634\u0647 \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f.<\/p>\n<h3>\u0641\u0627\u06cc\u0644 schema.js<\/h3>\n<p>\u062c\u062f\u0648\u0644\u200c\u0647\u0627 \u0648 \u0633\u062a\u0648\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062f\u0627\u062e\u0644\u06cc \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u062a\u063a\u06cc\u06cc\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u0627\u062c\u0631\u0627\u06cc Migration \u0627\u0633\u062a.<\/p>\n<\/section>\n<section id=\"testing\">\n<h2>\u062a\u0633\u062a \u0631\u0628\u0627\u062a \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062a\u0634\u0627\u0631<\/h2>\n<p>\u0628\u0631\u0627\u06cc \u062a\u0633\u062a Handler \u0628\u062f\u0648\u0646 \u0627\u0646\u062a\u0634\u0627\u0631 \u0639\u0645\u0648\u0645\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 <code>run<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud run handlers\/message '{ chat: { id: 1 }, text: \"hello\" }'<\/code><\/pre>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 Handler \u0631\u0627 \u0628\u0627 \u062f\u0627\u062f\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0631\u0648\u06cc \u067e\u0644\u062a\u0641\u0631\u0645 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u062e\u0631\u0648\u062c\u06cc Console\u060c \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u0648 \u062e\u0637\u0627\u0647\u0627\u06cc \u0627\u062d\u062a\u0645\u0627\u0644\u06cc \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u06af\u0632\u0627\u0631\u0634 \u0646\u06cc\u0632 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 Console \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-javascript\">console.log('Message received', {\r\nchatId: message.chat.id,\r\ntext: message.text\r\n```\r\n\r\n});\r\n\r\nconsole.warn('Invalid command');\r\n\r\nconsole.error('External API failed', error);<\/code><\/pre>\n<h3>\u0627\u0646\u062a\u0634\u0627\u0631 \u0646\u0633\u062e\u0647 \u0646\u0647\u0627\u06cc\u06cc<\/h3>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u06a9\u0645\u06cc\u0644 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c \u06a9\u062f \u0631\u0627 \u0645\u0646\u062a\u0634\u0631 \u06a9\u0646\u06cc\u062f:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud push<\/code><\/pre>\n<p>\u0627\u06af\u0631 Schema \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud migrate<\/code><\/pre>\n<p>\u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a Webhook:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud webhook<\/code><\/pre>\n<p>\u0628\u0631\u0627\u06cc \u0647\u0645\u06af\u0627\u0645\u200c\u0633\u0627\u0632\u06cc Webhook \u0628\u0627 Handler\u0647\u0627\u06cc \u0645\u0646\u062a\u0634\u0631\u0634\u062f\u0647:<\/p>\n<pre><code class=\"language-bash\">npx tgcloud webhook sync\r\n<\/code><\/pre>\n<figure id=\"attachment_1846\" aria-describedby=\"caption-attachment-1846\" style=\"width: 1522px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1846\" src=\"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/175007262026.jpg\" alt=\"\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0647\u0627\u0633\u062a\" width=\"1522\" height=\"675\" srcset=\"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/175007262026.jpg 1522w, https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/175007262026-300x133.jpg 300w, https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/175007262026-1024x454.jpg 1024w, https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/175007262026-768x341.jpg 768w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><figcaption id=\"caption-attachment-1846\" class=\"wp-caption-text\">\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0647\u0627\u0633\u062a<\/figcaption><\/figure>\n<pre><code class=\"language-bash\">\u00a0<\/code><\/pre>\n<\/section>\n<section id=\"limitations\">\n<h2>\u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc Telegram Serverless<\/h2>\n<p>\u0628\u0627 \u0648\u062c\u0648\u062f \u062c\u0630\u0627\u0628\u200c\u0628\u0648\u062f\u0646 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u060c Telegram Serverless \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0627\u0645\u0644 \u0647\u0645\u0647 \u0633\u0631\u0648\u0631\u0647\u0627 \u0646\u06cc\u0633\u062a. \u067e\u06cc\u0634 \u0627\u0632 \u0627\u0646\u062a\u0642\u0627\u0644 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc \u0628\u0627\u06cc\u062f \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<h3>\u06f1. \u0641\u0642\u0637 JavaScript \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f<\/h3>\n<p>\u06a9\u062f\u0647\u0627\u06cc PHP\u060c Python\u060c Go \u06cc\u0627 Java \u0631\u0627 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u062f\u0627\u062e\u0644 \u0627\u06cc\u0646 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627 \u06a9\u0631\u062f. \u0627\u06af\u0631 \u0631\u0628\u0627\u062a \u0641\u0639\u0644\u06cc \u0634\u0645\u0627 \u0628\u0627 PHP \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u0628\u0627\u06cc\u062f \u0645\u0646\u0637\u0642 Handler\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u0638\u0631 \u0631\u0627 \u0628\u0627 JavaScript \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0645\u0639\u0645\u0627\u0631\u06cc \u062a\u0631\u06a9\u06cc\u0628\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<h3>\u06f2. \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0622\u0632\u0627\u062f \u0627\u0632 \u067e\u06a9\u06cc\u062c\u200c\u0647\u0627\u06cc npm \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f<\/h3>\n<p>\u062f\u0631 Runtime \u0641\u0642\u0637 SDK \u067e\u0644\u062a\u0641\u0631\u0645 \u0648 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u067e\u0631\u0648\u0698\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633\u200c\u0627\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0647\u0631 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 npm \u0631\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0645\u0639\u0645\u0648\u0644\u06cc Node.js \u0646\u0635\u0628 \u0648 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627 Import \u06a9\u0631\u062f.<\/p>\n<h3>\u06f3. \u0641\u0627\u06cc\u0644\u200c\u0633\u06cc\u0633\u062a\u0645 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a<\/h3>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u0627\u0646\u0646\u062f VPS \u0641\u0627\u06cc\u0644 \u0645\u0648\u0642\u062a \u0628\u0633\u0627\u0632\u062f\u060c \u067e\u0648\u0634\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f \u06cc\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u0631\u0648\u06cc \u062f\u06cc\u0633\u06a9 \u0645\u062d\u0644\u06cc \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u062f. \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0627\u0646\u062f\u06af\u0627\u0631 \u0628\u0627\u06cc\u062f \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633 \u062e\u0627\u0631\u062c\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<h3>\u06f4. \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u067e\u0631\u062f\u0627\u0632\u0634 \u0641\u0627\u06cc\u0644<\/h3>\n<p>\u062f\u0631 \u0646\u0633\u062e\u0647 \u0641\u0639\u0644\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0648\u06cc \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0631\u0627 \u0628\u0627 <code>file_id<\/code> \u0627\u0631\u0633\u0627\u0644\u060c \u0641\u0648\u0631\u0648\u0627\u0631\u062f \u06cc\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u061b \u0627\u0645\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0628\u0627\u06cc\u062a \u062e\u0627\u0645 \u0641\u0627\u06cc\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 getFile \u0648 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u062d\u062a\u0648\u0627 \u06cc\u0627 \u0622\u067e\u0644\u0648\u062f \u0645\u0633\u062a\u0642\u06cc\u0645 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0627\u0632 \u062f\u0627\u062e\u0644 Handler \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p>\u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644\u060c \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0631\u0648\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u067e\u0631\u062f\u0627\u0632\u0634 \u0633\u0646\u06af\u06cc\u0646 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f\u060c \u0648\u06cc\u062f\u0626\u0648 \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0641\u0627\u06cc\u0644 ZIP \u0645\u06cc\u200c\u0633\u0627\u0632\u0646\u062f \u06cc\u0627 \u0627\u0632 FFmpeg \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0633\u0631\u0648\u0631 \u062e\u0627\u0631\u062c\u06cc \u0646\u06cc\u0627\u0632 \u062e\u0648\u0627\u0647\u0646\u062f \u062f\u0627\u0634\u062a.<\/p>\n<h3>\u06f5. \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u067e\u0627\u0633\u062e HTTP<\/h3>\n<p>\u067e\u0627\u0633\u062e \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0628\u0627\u06cc\u062f \u0645\u062a\u0646\u06cc \u0628\u0627\u0634\u062f \u0648 \u0645\u062d\u062a\u0648\u0627\u06cc \u0628\u0627\u06cc\u0646\u0631\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u062c\u0645 \u06a9\u0644 \u067e\u0627\u0633\u062e HTTP \u062e\u0627\u0631\u062c\u06cc \u0633\u0642\u0641 \u0645\u0634\u062e\u0635\u06cc \u062f\u0627\u0631\u062f \u06a9\u0647 \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0641\u0639\u0644\u06cc \u06f3\u06f2 \u0645\u06af\u0627\u0628\u0627\u06cc\u062a \u0627\u0639\u0644\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<h3>\u06f6. \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u062a\u0644\u06af\u0631\u0627\u0645<\/h3>\n<p>\u0628\u0627 \u0627\u0646\u062a\u0642\u0627\u0644 \u0645\u0646\u0637\u0642 \u0648 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0628\u0647 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a Telegram Serverless\u060c \u067e\u0631\u0648\u0698\u0647 \u0628\u06cc\u0634 \u0627\u0632 \u06af\u0630\u0634\u062a\u0647 \u0628\u0647 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u060c \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627 \u0648 \u0633\u06cc\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0648\u0627\u0628\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062a\u062c\u0627\u0631\u06cc \u062d\u0633\u0627\u0633 \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0646\u0633\u062e\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0631\u0648\u062c \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645 \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u0648\u062f.<\/p>\n<\/section>\n<section id=\"use-cases\">\n<h2>\u0686\u0647 \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc Telegram Serverless \u0645\u0646\u0627\u0633\u0628\u200c\u0627\u0646\u062f\u061f<\/h2>\n<p>\u0627\u06cc\u0646 \u067e\u0644\u062a\u0641\u0631\u0645 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0646\u0627\u0633\u0628\u06cc \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0627\u0634\u062f:<\/p>\n<ul>\n<li>\u0631\u0628\u0627\u062a \u067e\u0627\u0633\u062e\u200c\u06af\u0648\u06cc\u06cc \u0648 \u0633\u0624\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/li>\n<li>\u0631\u0628\u0627\u062a \u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u0648 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a<\/li>\n<li>\u0631\u0628\u0627\u062a \u0646\u0638\u0631\u0633\u0646\u062c\u06cc \u0648 \u0645\u0633\u0627\u0628\u0642\u0647<\/li>\n<li>\u0631\u0628\u0627\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0627\u062f\u0647 \u06a9\u0627\u0646\u0627\u0644 \u06cc\u0627 \u06af\u0631\u0648\u0647<\/li>\n<li>\u0631\u0628\u0627\u062a \u067e\u06cc\u06af\u06cc\u0631\u06cc \u0633\u0641\u0627\u0631\u0634 \u0627\u0632 \u0637\u0631\u06cc\u0642 API \u0633\u0627\u06cc\u062a<\/li>\n<li>\u0631\u0628\u0627\u062a \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0639\u0644\u0627\u0646 \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631<\/li>\n<li>\u0631\u0628\u0627\u062a \u062b\u0628\u062a \u062a\u06cc\u06a9\u062a \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc<\/li>\n<li>\u0628\u06a9\u200c\u0627\u0646\u062f \u0633\u0628\u06a9 \u0628\u0631\u0627\u06cc Telegram Mini App<\/li>\n<li>\u0628\u0627\u0632\u06cc\u200c\u0647\u0627\u06cc \u0645\u062a\u0646\u06cc \u0648 \u0633\u06cc\u0633\u062a\u0645 \u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc<\/li>\n<li>\u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0645\u062a\u0635\u0644 \u0628\u0647 API \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc<\/li>\n<\/ul>\n<h3>\u0686\u0647 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u06cc \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0647\u0645\u0686\u0646\u0627\u0646 \u0633\u0631\u0648\u0631 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f\u061f<\/h3>\n<ul>\n<li>\u067e\u0631\u062f\u0627\u0632\u0634 \u0648 \u062a\u0628\u062f\u06cc\u0644 \u0648\u06cc\u062f\u0626\u0648 \u0648 \u0635\u0648\u062a<\/li>\n<li>\u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0648 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646<\/li>\n<li>\u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc Queue \u0648 Worker\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647<\/li>\n<li>\u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u06cc \u0628\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062a\u062e\u0635\u0635\u06cc \u0645\u062a\u0639\u062f\u062f<\/li>\n<li>\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062f\u0627\u0631\u0627\u06cc \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0628\u0632\u0631\u06af \u0648 \u06af\u0632\u0627\u0631\u0634\u200c\u06af\u06cc\u0631\u06cc \u0633\u0646\u06af\u06cc\u0646<\/li>\n<li>\u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0627\u0645\u0644 \u0634\u0628\u06a9\u0647 \u0648 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644\u200c\u0627\u0646\u062f<\/li>\n<li>\u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0647\u0645\u200c\u0632\u0645\u0627\u0646 \u062e\u0627\u0631\u062c \u0627\u0632 \u062a\u0644\u06af\u0631\u0627\u0645 \u0646\u06cc\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0628\u062f\u0647\u0646\u062f<\/li>\n<\/ul>\n<\/section>\n<section id=\"security\">\n<h2>\u0646\u06a9\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0645\u0647\u0645 \u062f\u0631 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631<\/h2>\n<h3>\u062a\u0648\u06a9\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0627\u062e\u0644 \u06a9\u062f \u0642\u0631\u0627\u0631 \u0646\u062f\u0647\u06cc\u062f<\/h3>\n<p>\u062a\u0648\u06a9\u0646 Bot API\u060c \u062a\u0648\u06a9\u0646 CLI \u0648 \u06a9\u0644\u06cc\u062f API \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0646\u0628\u0627\u06cc\u062f \u062f\u0627\u062e\u0644 \u06a9\u062f\u06cc \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f \u06a9\u0647 \u0627\u062d\u062a\u0645\u0627\u0644 \u0627\u0646\u062a\u0634\u0627\u0631 \u0639\u0645\u0648\u0645\u06cc \u0622\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.<\/p>\n<h3>\u0648\u0631\u0648\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0631\u0627 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u06a9\u0646\u06cc\u062f<\/h3>\n<p>\u0645\u062a\u0646 \u067e\u06cc\u0627\u0645\u060c Callback Data\u060c \u06a9\u062f \u0633\u0641\u0627\u0631\u0634 \u0648 \u0647\u0631 \u062f\u0627\u062f\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a\u06cc \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627\u06cc\u062f \u0646\u0627\u0645\u0639\u062a\u0628\u0631 \u0641\u0631\u0636 \u0634\u0648\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u0622\u0646 \u0628\u0631\u0631\u0633\u06cc \u0634\u062f\u0647 \u0628\u0627\u0634\u062f.<\/p>\n<h3>\u0634\u0646\u0627\u0633\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0627 \u0639\u062f\u062f \u06f3\u06f2 \u0628\u06cc\u062a\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0646\u06a9\u0646\u06cc\u062f<\/h3>\n<p>\u0634\u0646\u0627\u0633\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u06af\u0641\u062a\u06af\u0648\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0632\u0631\u06af \u0628\u0627\u0634\u0646\u062f. \u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0627\u0646\u062a\u062e\u0627\u0628\u06cc \u0628\u0627\u06cc\u062f \u062a\u0648\u0627\u0646\u0627\u06cc\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0627\u06cc\u0645\u0646 \u0634\u0646\u0627\u0633\u0647\u200c\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/p>\n<h3>API \u062e\u0627\u0631\u062c\u06cc \u0631\u0627 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u06a9\u0646\u06cc\u062f<\/h3>\n<p>\u0627\u06af\u0631 \u0631\u0628\u0627\u062a \u0628\u0647 API \u0633\u0627\u06cc\u062a \u0634\u0645\u0627 \u0645\u062a\u0635\u0644 \u0627\u0633\u062a\u060c \u0635\u0631\u0641\u0627\u064b \u0645\u062e\u0641\u06cc\u200c\u0628\u0648\u062f\u0646 \u0622\u062f\u0631\u0633 API \u0627\u0645\u0646\u06cc\u062a \u0645\u062d\u0633\u0648\u0628 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u0627\u0645\u0636\u0627\u06cc HMAC\u060c \u062a\u0648\u06a9\u0646 \u0645\u062d\u062f\u0648\u062f\u0634\u062f\u0647\u060c \u062a\u0627\u0631\u06cc\u062e \u0627\u0646\u0642\u0636\u0627\u060c Nonce \u0648 Rate Limit \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3>\u062e\u0637\u0627\u0647\u0627\u06cc \u0641\u0646\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0646\u0645\u0627\u06cc\u0634 \u0646\u062f\u0647\u06cc\u062f<\/h3>\n<p>\u067e\u06cc\u0627\u0645 \u062e\u0637\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627\u06cc\u062f \u0639\u0645\u0648\u0645\u06cc \u0648 \u0642\u0627\u0628\u0644 \u0641\u0647\u0645 \u0628\u0627\u0634\u062f. \u062c\u0632\u0626\u06cc\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f Stack Trace\u060c \u0622\u062f\u0631\u0633 \u062f\u0627\u062e\u0644\u06cc API\u060c \u0646\u0627\u0645 \u062c\u062f\u0648\u0644 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0648 \u06a9\u0644\u06cc\u062f\u0647\u0627 \u0641\u0642\u0637 \u0628\u0627\u06cc\u062f \u062f\u0631 Log \u062b\u0628\u062a \u0634\u0648\u0646\u062f.<\/p>\n<h3>\u0628\u0631\u0627\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc Timeout \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f<\/h3>\n<p>\u06a9\u0646\u062f\u0634\u062f\u0646 API \u062e\u0627\u0631\u062c\u06cc \u0646\u0628\u0627\u06cc\u062f \u0628\u0627\u0639\u062b \u0645\u0639\u0637\u0644\u200c\u0645\u0627\u0646\u062f\u0646 \u0637\u0648\u0644\u0627\u0646\u06cc Handler \u0634\u0648\u062f. \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u0631\u0627 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631\u0627\u06cc \u062e\u0637\u0627\u060c \u067e\u0627\u0633\u062e \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0646\u0627\u0633\u0628\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<\/section>\n<section>\n<h2>\u0622\u06cc\u0627 Telegram Serverless \u0628\u0631\u0627\u06cc \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631\u0647\u0627 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u061f<\/h2>\n<p>\u067e\u0627\u0633\u062e \u0628\u0647 \u0646\u0648\u0639 \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631 \u0648 \u062d\u0633\u0627\u0633\u06cc\u062a \u0639\u0645\u0644\u06cc\u0627\u062a \u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u0631\u062f. \u0628\u0631\u0627\u06cc \u0627\u0639\u0644\u0627\u0646 \u0633\u0641\u0627\u0631\u0634\u060c \u067e\u0627\u0633\u062e\u200c\u06af\u0648\u06cc\u06cc \u0627\u0648\u0644\u06cc\u0647\u060c \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u060c \u0627\u0631\u0627\u0626\u0647 \u0645\u0646\u0648\u060c \u067e\u06cc\u06af\u06cc\u0631\u06cc \u0648\u0636\u0639\u06cc\u062a \u0648 \u0627\u062a\u0635\u0627\u0644 \u0633\u0628\u06a9 \u0628\u0647 API\u060c \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0647\u0632\u06cc\u0646\u0647 \u0648 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0641\u0646\u06cc \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u062f.<\/p>\n<p>\u0627\u0645\u0627 \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0627\u0644\u06cc\u060c \u0633\u0648\u0627\u0628\u0642 \u067e\u0631\u062f\u0627\u062e\u062a\u060c \u0645\u0648\u062c\u0648\u062f\u06cc \u062d\u0633\u0627\u0628\u060c \u0633\u0641\u0627\u0631\u0634\u200c\u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a \u062d\u0633\u0627\u0633 \u0641\u0642\u0637 \u0628\u0647 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u062f\u0627\u062e\u0644\u06cc \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0648\u0627\u0628\u0633\u062a\u0647 \u0646\u0628\u0627\u0634\u0646\u062f. \u0645\u0639\u0645\u0627\u0631\u06cc \u062a\u0631\u06a9\u06cc\u0628\u06cc \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0646\u0637\u0642\u06cc\u200c\u062a\u0631\u06cc \u0627\u0633\u062a: \u0631\u0628\u0627\u062a \u0631\u0648\u06cc Telegram Serverless \u0627\u062c\u0631\u0627 \u0634\u0648\u062f\u060c \u0627\u0645\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0647\u0645 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0645\u0631\u06a9\u0632\u06cc \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<\/section>\n<section id=\"faq\" class=\"article-faq\">\n<h2>\u0633\u0624\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644 \u062f\u0631\u0628\u0627\u0631\u0647 Telegram Serverless<\/h2>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f<\/summary>\n<p>\u0628\u0644\u0647. \u0628\u0627 Telegram Serverless \u06a9\u062f Handler\u0647\u0627\u06cc \u0631\u0628\u0627\u062a \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0647\u0627\u0633\u062a \u06cc\u0627 VPS \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u06cc\u0633\u062a.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 Telegram Serverless \u0631\u0627\u06cc\u06af\u0627\u0646 \u0627\u0633\u062a\u061f<\/summary>\n<p>\u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0631\u0627 \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062f\u0627\u062e\u0644\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627 \u0627\u0631\u0627\u0626\u0647 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a\u061b \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u0628\u0631\u0627\u06cc \u062a\u0635\u0645\u06cc\u0645\u200c\u06af\u06cc\u0631\u06cc \u062a\u062c\u0627\u0631\u06cc \u0628\u0627\u06cc\u062f \u0647\u0645\u0648\u0627\u0631\u0647 \u0634\u0631\u0627\u06cc\u0637\u060c \u0633\u0647\u0645\u06cc\u0647\u200c\u0647\u0627 \u0648 \u0633\u06cc\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632 \u0627\u0639\u0644\u0627\u0645\u200c\u0634\u062f\u0647 \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc \u0628\u0631\u0631\u0633\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0627 PHP \u0627\u0632 Telegram Serverless \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u061f<\/summary>\n<p>\u06a9\u062f Runtime \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 JavaScript \u0646\u0648\u0634\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 PHP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f API \u062e\u0627\u0631\u062c\u06cc \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0631\u0628\u0627\u062a \u0642\u0631\u0627\u0631 \u062f\u0647\u062f\u060c \u0627\u0645\u0627 \u06a9\u062f PHP \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u062f\u0631 \u0645\u062d\u06cc\u0637 Serverless \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0628\u0627\u06cc\u062f Node.js \u0628\u0644\u062f \u0628\u0627\u0634\u06cc\u0645\u061f<\/summary>\n<p>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0628\u0627 JavaScript \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0628\u0632\u0627\u0631 tgcloud \u0628\u0627\u06cc\u062f Node.js \u0646\u0633\u062e\u0647 \u06f1\u06f8 \u06cc\u0627 \u062c\u062f\u06cc\u062f\u062a\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062a\u0648\u0633\u0639\u0647 \u0646\u0635\u0628 \u0628\u0627\u0634\u062f.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0628\u0639\u062f \u0627\u0632 \u067e\u0627\u06cc\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc Handler \u067e\u0627\u06a9 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u061f<\/summary>\n<p>\u062e\u06cc\u0631. \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u067e\u0631\u0648\u0698\u0647 \u0645\u06cc\u0627\u0646 \u0627\u062c\u0631\u0627\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0645\u0627\u0646\u062f\u06af\u0627\u0631 \u0627\u0633\u062a \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u0648\u0636\u0639\u06cc\u062a \u0631\u0628\u0627\u062a \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0631\u062f.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0631\u0628\u0627\u062a \u0631\u0627 \u0628\u0647 \u0633\u0627\u06cc\u062a \u0648\u0631\u062f\u067e\u0631\u0633\u06cc \u0645\u062a\u0635\u0644 \u06a9\u0631\u062f\u061f<\/summary>\n<p>\u0628\u0644\u0647. \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a \u0633\u0627\u06cc\u062a \u06cc\u06a9 REST API \u0627\u0645\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u0631\u0628\u0627\u062a \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 fetch \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06cc\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u062f. \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0648 \u0627\u0639\u062a\u0628\u0627\u0631\u0633\u0646\u062c\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0627\u062a\u0635\u0627\u0644 \u0636\u0631\u0648\u0631\u06cc \u0627\u0633\u062a.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 API \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u061f<\/summary>\n<p>\u0628\u0644\u0647. \u0631\u0628\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0645\u062a\u0646\u06cc \u0628\u0647 API \u0647\u0648\u0634 \u0645\u0635\u0646\u0648\u0639\u06cc \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u062f. \u0628\u0627\u06cc\u062f \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e\u060c \u062d\u062c\u0645 \u062e\u0631\u0648\u062c\u06cc\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0637\u0627 \u0648 \u0647\u0632\u06cc\u0646\u0647 \u0633\u0631\u0648\u06cc\u0633 \u062e\u0627\u0631\u062c\u06cc \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<\/details>\n<details open=\"open\">\n<summary>\u0622\u06cc\u0627 Telegram Serverless \u062c\u0627\u06cc VPS \u0631\u0627 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u061f<\/summary>\n<p>\u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u062e\u06cc\u0631. \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u0645\u062d\u0648\u0631 \u0648 \u067e\u0631\u062f\u0627\u0632\u0634\u200c\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0628\u0633\u06cc\u0627\u0631 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u061b \u0627\u0645\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u0641\u0627\u06cc\u0644\u060c \u0627\u062c\u0631\u0627\u06cc \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645\u06cc\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0648 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0627\u0645\u0644 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.<\/p>\n<\/details>\n<\/section>\n<section class=\"article-conclusion\">\n<h2>\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/h2>\n<p>Telegram Serverless \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0633\u0627\u0644\u200c\u0647\u0627\u06cc \u0627\u062e\u06cc\u0631 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u062a\u0648\u0633\u0639\u0647 \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u0641\u0627\u0635\u0644\u0647 \u0645\u06cc\u0627\u0646 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0631\u0628\u0627\u062a \u0633\u0627\u062f\u0647 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0622\u0646 \u0631\u0627 \u06a9\u0648\u062a\u0627\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u0631\u0627\u062d\u0644 \u062e\u0633\u062a\u0647\u200c\u06a9\u0646\u0646\u062f\u0647 \u0645\u0627\u0646\u0646\u062f \u062a\u0647\u06cc\u0647 \u0633\u0631\u0648\u0631\u060c \u062a\u0646\u0638\u06cc\u0645 SSL\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a Webhook \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u062f\u0627\u0626\u0645\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0627\u0632 \u062f\u0648\u0634 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0628\u0631\u0645\u06cc\u200c\u062f\u0627\u0631\u062f.<\/p>\n<p>\u0628\u0627 \u0686\u0646\u062f \u0641\u0627\u06cc\u0644 JavaScript \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0631\u0628\u0627\u062a\u06cc \u0633\u0627\u062e\u062a \u06a9\u0647 \u067e\u06cc\u0627\u0645 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u062a\u0639\u0627\u0645\u0644\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0647\u062f\u060c \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u062f \u0648 \u0628\u0647 API\u0647\u0627\u06cc \u0628\u06cc\u0631\u0648\u0646\u06cc \u0645\u062a\u0635\u0644 \u0634\u0648\u062f. \u062f\u0631 \u0645\u0642\u0627\u0628\u0644\u060c \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0646\u0628\u0648\u062f \u0641\u0627\u06cc\u0644\u200c\u0633\u06cc\u0633\u062a\u0645\u060c \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0646\u0634\u062f\u0646 \u0627\u0632 \u067e\u06a9\u06cc\u062c\u200c\u0647\u0627\u06cc npm \u062f\u0631 Runtime \u0648 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u067e\u0631\u062f\u0627\u0632\u0634 \u0641\u0627\u06cc\u0644 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0646\u0648\u0632 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u0645\u0646\u0627\u0633\u0628 \u0646\u0628\u0627\u0634\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9\u060c \u0646\u0645\u0648\u0646\u0647 \u0627\u0648\u0644\u06cc\u0647\u060c \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u060c \u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u062a\u0639\u0627\u0645\u0644\u06cc \u0648 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u062a\u0635\u0644 \u0628\u0647 API\u060c Telegram Serverless \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0646\u062a\u062e\u0627\u0628\u06cc \u0633\u0631\u06cc\u0639 \u0648 \u06a9\u0645\u200c\u062f\u0631\u062f\u0633\u0631 \u0628\u0627\u0634\u062f. \u0628\u0631\u0627\u06cc \u06a9\u0633\u0628\u200c\u0648\u06a9\u0627\u0631\u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u062a\u0631 \u0646\u06cc\u0632 \u0645\u0639\u0645\u0627\u0631\u06cc \u062a\u0631\u06a9\u06cc\u0628\u06cc\u060c \u06cc\u0639\u0646\u06cc \u0627\u062c\u0631\u0627\u06cc \u0631\u0627\u0628\u0637 \u0631\u0628\u0627\u062a \u0631\u0648\u06cc \u062a\u0644\u06af\u0631\u0627\u0645 \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0635\u0644\u06cc \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc\u060c \u062a\u0639\u0627\u062f\u0644 \u0645\u0646\u0627\u0633\u0628\u06cc \u0645\u06cc\u0627\u0646 \u0633\u0627\u062f\u06af\u06cc \u0648 \u06a9\u0646\u062a\u0631\u0644 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<\/section>\n<footer class=\"article-sources\">\n<h2>\u0645\u0646\u0627\u0628\u0639 \u0648 \u0645\u0637\u0627\u0644\u0639\u0647 \u0628\u06cc\u0634\u062a\u0631<\/h2>\n<ul>\n<li><a href=\"https:\/\/core.telegram.org\/bots\/serverless\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Telegram Serverless<\/a><\/li>\n<li><a href=\"https:\/\/core.telegram.org\/bots\/api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc Telegram Bot API<\/a><\/li>\n<li><a href=\"https:\/\/telegram.org\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u0631\u0633\u0645\u06cc \u062a\u0644\u06af\u0631\u0627\u0645<\/a><\/li>\n<li><a href=\"https:\/\/fapremium.ir\/\">\u0648\u0628\u200c\u0633\u0627\u06cc\u062a \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc<\/a><\/li>\n<\/ul>\n<\/footer>\n<p><script type=\"application\/ld+json\">\n{\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"TechArticle\",\n    \"headline\": \"\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0628\u0627 Telegram Serverless\u061b \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0647\u0645\u0631\u0627\u0647 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f\",\n    \"description\": \"\u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 \u0628\u0627 Telegram Serverless\u060c \u0634\u0627\u0645\u0644 \u0641\u0639\u0627\u0644\u200c\u0633\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0634\u06cc\u0634\u0647\u200c\u0627\u06cc\u060c \u0627\u062a\u0635\u0627\u0644 API \u0648 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f JavaScript.\",\n    \"inLanguage\": \"fa-IR\",\n    \"mainEntityOfPage\": {\n        \"@type\": \"WebPage\",\n        \"@id\": \"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/\"\n    },\n    \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\n        \"url\": \"https:\/\/fapremium.ir\/\"\n    },\n    \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\n        \"url\": \"https:\/\/fapremium.ir\/\"\n    },\n    \"about\": [\n        \"Telegram Serverless\",\n        \"Telegram Bot API\",\n        \"\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645\",\n        \"JavaScript\"\n    ],\n    \"keywords\": [\n        \"\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631\",\n        \"Telegram Serverless\",\n        \"\u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0647\u0627\u0633\u062a\",\n        \"\u0622\u0645\u0648\u0632\u0634 \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645\",\n        \"tgcloud\"\n    ]\n}\n<\/script><\/p>\n<p><script type=\"application\/ld+json\">\n{\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n        {\n            \"@type\": \"Question\",\n            \"name\": \"\u0622\u06cc\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"\u0628\u0644\u0647. \u0628\u0627 Telegram Serverless \u06a9\u062f Handler\u0647\u0627\u06cc \u0631\u0628\u0627\u062a \u0631\u0648\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0647\u0627\u0633\u062a \u06cc\u0627 VPS \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u06cc\u0633\u062a.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u0627 PHP \u0627\u0632 Telegram Serverless \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u061f\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"\u06a9\u062f Runtime \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 JavaScript \u0646\u0648\u0634\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 PHP \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f API \u062e\u0627\u0631\u062c\u06cc \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0631\u0628\u0627\u062a \u0642\u0631\u0627\u0631 \u062f\u0647\u062f\u060c \u0627\u0645\u0627 PHP \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u062f\u0631 \u0645\u062d\u06cc\u0637 Serverless \u062a\u0644\u06af\u0631\u0627\u0645 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"\u0622\u06cc\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0631\u0628\u0627\u062a \u0631\u0627 \u0628\u0647 \u0633\u0627\u06cc\u062a \u0648\u0631\u062f\u067e\u0631\u0633\u06cc \u0645\u062a\u0635\u0644 \u06a9\u0631\u062f\u061f\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"\u0628\u0644\u0647. \u0633\u0627\u06cc\u062a \u0628\u0627\u06cc\u062f \u06cc\u06a9 REST API \u0627\u0645\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u0631\u0628\u0627\u062a \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 fetch \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06cc\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u062f.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"\u0622\u06cc\u0627 Telegram Serverless \u062c\u0627\u06cc VPS \u0631\u0627 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u061f\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"\u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627 \u062e\u06cc\u0631. \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0631\u0628\u0627\u062a\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u0645\u062d\u0648\u0631 \u0648 \u067e\u0631\u062f\u0627\u0632\u0634\u200c\u0647\u0627\u06cc \u0633\u0628\u06a9 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u0641\u0627\u06cc\u0644\u060c \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0648 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0627\u0645\u0644 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0633\u0631\u0648\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.\"\n            }\n        }\n    ]\n}\n<\/script><\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>\u062a\u0627 \u0647\u0645\u06cc\u0646 \u0686\u0646\u062f \u0648\u0642\u062a \u067e\u06cc\u0634\u060c \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u0627\u06cc\u062f \u0647\u0627\u0633\u062a \u06cc\u0627 \u0633\u0631\u0648\u0631 \u062a\u0647\u06cc\u0647 \u0645\u06cc\u200c\u06a9\u0631\u062f\u06cc\u062f\u060c \u062f\u0627\u0645\u0646\u0647 \u0648 SSL \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0631\u062f\u06cc\u062f\u060c Webhook \u0645\u06cc\u200c\u0633\u0627\u062e\u062a\u06cc\u062f \u0648 \u0647\u0645\u06cc\u0634\u0647 \u0646\u06af\u0631\u0627\u0646 \u0642\u0637\u0639\u200c\u0634\u062f\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0628\u0627\u062a \u0628\u0648\u062f\u06cc\u062f. \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u0627 \u0645\u0639\u0631\u0641\u06cc\u2026<\/p>\n","protected":false},"author":5,"featured_media":1849,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,248],"tags":[621],"class_list":["post-1843","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","category-248","tag-621"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc<\/title>\n<meta name=\"description\" content=\"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f &quot;Serverless&quot; \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\" \/>\n<meta property=\"og:description\" content=\"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f &quot;Serverless&quot; \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-26T14:21:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-26T14:32:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1438\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Premium_ir\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#\\\/schema\\\/person\\\/ff42d47abff0e0fa501d858c6f34fe8c\"},\"headline\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless)\",\"datePublished\":\"2026-07-26T14:21:22+00:00\",\"dateModified\":\"2026-07-26T14:32:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/\"},\"wordCount\":282,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png\",\"keywords\":[\"\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645\"],\"articleSection\":[\"\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc\",\"\u062a\u0644\u06af\u0631\u0627\u0645\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/\",\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/\",\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png\",\"datePublished\":\"2026-07-26T14:21:22+00:00\",\"dateModified\":\"2026-07-26T14:32:36+00:00\",\"description\":\"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f \\\"Serverless\\\" \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png\",\"contentUrl\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png\",\"width\":1438,\"height\":941,\"caption\":\"\u0622\u0645\u0648\u0632\u0634 Telegram Serverless\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/telegram-serverless-bot-tutorial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/\",\"name\":\"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"description\":\"\u0648\u0628\u0644\u0627\u06af \u0646\u0648\u0634\u062a\u0647 \u0647\u0627\u06cc \u0622\u0632\u0627\u062f \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"publisher\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#organization\"},\"alternateName\":\"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#organization\",\"name\":\"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"alternateName\":\"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\",\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/photo_2022-10-30_14-10-49.jpg\",\"contentUrl\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/photo_2022-10-30_14-10-49.jpg\",\"width\":640,\"height\":640,\"caption\":\"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc\"},\"image\":{\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/t.me\\\/FaPremiumbot\",\"https:\\\/\\\/instagram.com\\\/Premium.fa\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/#\\\/schema\\\/person\\\/ff42d47abff0e0fa501d858c6f34fe8c\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/fapremium.ir\\\/about.php\",\"https:\\\/\\\/www.instagram.com\\\/Premium.fa\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/fapremium\\\/\",\"https:\\\/\\\/x.com\\\/Premium_ir\",\"https:\\\/\\\/www.youtube.com\\\/@premium_ir\"],\"url\":\"https:\\\/\\\/fapremium.ir\\\/blog\\\/author\\\/admin-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","description":"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f \"Serverless\" \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","og_description":"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f \"Serverless\" \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.","og_url":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/","og_site_name":"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","article_published_time":"2026-07-26T14:21:22+00:00","article_modified_time":"2026-07-26T14:32:36+00:00","og_image":[{"width":1438,"height":941,"url":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@Premium_ir","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"admin","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"16 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#article","isPartOf":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/"},"author":{"name":"admin","@id":"https:\/\/fapremium.ir\/blog\/#\/schema\/person\/ff42d47abff0e0fa501d858c6f34fe8c"},"headline":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless)","datePublished":"2026-07-26T14:21:22+00:00","dateModified":"2026-07-26T14:32:36+00:00","mainEntityOfPage":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/"},"wordCount":282,"commentCount":0,"publisher":{"@id":"https:\/\/fapremium.ir\/blog\/#organization"},"image":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png","keywords":["\u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645"],"articleSection":["\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc","\u062a\u0644\u06af\u0631\u0627\u0645"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/","url":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/","name":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless) - \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","isPartOf":{"@id":"https:\/\/fapremium.ir\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png","datePublished":"2026-07-26T14:21:22+00:00","dateModified":"2026-07-26T14:32:36+00:00","description":"\u0633\u0631\u0648\u06cc\u0633 \u062c\u062f\u06cc\u062f \"Serverless\" \u062a\u0644\u06af\u0631\u0627\u0645 \u0686\u06cc\u0633\u062a \u0686\u06cc\u0633\u062a \u0648 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0628\u062f\u0648\u0646 \u062e\u0631\u06cc\u062f \u0633\u0631\u0648\u0631 \u0648 \u0647\u0627\u0633\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0633\u0627\u062e\u062a\u061f \u0622\u0645\u0648\u0632\u0634 \u06a9\u0627\u0645\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc\u060c \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633\u060c API\u060c \u062f\u06a9\u0645\u0647\u200c\u0647\u0627 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u0631\u0628\u0627\u062a \u0628\u0627 \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f.","breadcrumb":{"@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#primaryimage","url":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png","contentUrl":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2026\/07\/ChatGPT-Image-\u06f4-\u0645\u0631\u062f\u0627\u062f-\u06f1\u06f4\u06f0\u06f5\u060c-\u06f1\u06f7_\u06f4\u06f6_\u06f0\u06f1-1.png","width":1438,"height":941,"caption":"\u0622\u0645\u0648\u0632\u0634 Telegram Serverless"},{"@type":"BreadcrumbList","@id":"https:\/\/fapremium.ir\/blog\/telegram-serverless-bot-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/fapremium.ir\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0631\u0628\u0627\u062a \u062a\u0644\u06af\u0631\u0627\u0645 \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631 (Telegram Serverless)"}]},{"@type":"WebSite","@id":"https:\/\/fapremium.ir\/blog\/#website","url":"https:\/\/fapremium.ir\/blog\/","name":"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","description":"\u0648\u0628\u0644\u0627\u06af \u0646\u0648\u0634\u062a\u0647 \u0647\u0627\u06cc \u0622\u0632\u0627\u062f \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","publisher":{"@id":"https:\/\/fapremium.ir\/blog\/#organization"},"alternateName":"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fapremium.ir\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Organization","@id":"https:\/\/fapremium.ir\/blog\/#organization","name":"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","alternateName":"\u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc","url":"https:\/\/fapremium.ir\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/fapremium.ir\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2023\/11\/photo_2022-10-30_14-10-49.jpg","contentUrl":"https:\/\/fapremium.ir\/blog\/wp-content\/uploads\/2023\/11\/photo_2022-10-30_14-10-49.jpg","width":640,"height":640,"caption":"\u0648\u0628\u0644\u0627\u06af \u067e\u0631\u0645\u06cc\u0648\u0645 \u0641\u0627\u0631\u0633\u06cc"},"image":{"@id":"https:\/\/fapremium.ir\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/t.me\/FaPremiumbot","https:\/\/instagram.com\/Premium.fa"]},{"@type":"Person","@id":"https:\/\/fapremium.ir\/blog\/#\/schema\/person\/ff42d47abff0e0fa501d858c6f34fe8c","name":"admin","image":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/secure.gravatar.com\/avatar\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/544c41ab3b6a2fd4a26c17c11b1f7f6a477d90a7ee2c33c8d22bd0fccb42c2f6?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/fapremium.ir\/about.php","https:\/\/www.instagram.com\/Premium.fa","https:\/\/www.linkedin.com\/company\/fapremium\/","https:\/\/x.com\/Premium_ir","https:\/\/www.youtube.com\/@premium_ir"],"url":"https:\/\/fapremium.ir\/blog\/author\/admin-2\/"}]}},"_links":{"self":[{"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/posts\/1843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/comments?post=1843"}],"version-history":[{"count":4,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/posts\/1843\/revisions"}],"predecessor-version":[{"id":1850,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/posts\/1843\/revisions\/1850"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/media\/1849"}],"wp:attachment":[{"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/media?parent=1843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/categories?post=1843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fapremium.ir\/blog\/wp-json\/wp\/v2\/tags?post=1843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}