ساخت ربات تلگرام بدون سرور با Cloudflare Workers؛ آموزش قدمبهقدم
تیم او سی
نویسنده

برای ساخت یک ربات تلگرام ساده لازم نیست همیشه یک سرور مجازی روشن نگه دارید. با معماری Serverless، هر پیام ورودی یک تابع کوتاه را اجرا میکند و پس از ارسال پاسخ منابع آزاد میشوند. Cloudflare Workers یکی از گزینههای مناسب برای این الگوست: استقرار سریع، شبکه جهانی و سهمیه رایگان محدود برای شروع. در این مقاله معماری و مراحل ساخت را توضیح میدهیم. کدها نمونه آموزشیاند؛ پیش از استفاده واقعی باید محدودیتها، امنیت، ثبت رخداد و مدیریت خطا را با نیاز پروژه تطبیق دهید. ربات Serverless چگونه کار میکند؟
تلگرام دو روش اصلی برای دریافت پیام دارد: Long Polling و Webhook. در Long Polling برنامه مرتب از تلگرام درباره پیام جدید میپرسد و معمولاً باید یک پردازش همیشه روشن باشد. در Webhook، تلگرام هر Update را با درخواست HTTPS به آدرس شما ارسال میکند. این مدل با تابع Serverless هماهنگ است. کاربر برای ربات پیام میفرستد. تلگرام Update را به URL وبهوک ارسال میکند. Worker درخواست را اعتبارسنجی و پیام را پردازش میکند. Worker از Bot API برای ارسال پاسخ استفاده میکند. پیشنیازها یک حساب تلگرام و ربات س
اختهشده با BotFather توکن Bot API که باید محرمانه بماند حساب Cloudflare Node.js و ابزار Wrangler برای توسعه و استقرار آشنایی پایه با JavaScript یا TypeScript و HTTP ساخت پروژه Worker یک پروژه Worker ایجاد کنید و نقطه ورود را به شکلی بنویسید که درخواست POST را دریافت کند. بدنه درخواست JSON است و ساختار Update تلگرام را دارد. برای نسخه اول فقط پیام متنی را پشتیبانی کنید و سایر Updateها را با پاسخ موفق نادیده بگیرید تا تلگرام دوباره ارسال نکند. export default { async fetch(request, env) { if (requ
est.method !== "POST") return new Response("OK"); const update = await request.json(); const chatId = update.message?.chat?.id; const text = update.message?.text; if (!chatId || !text) return new Response("OK"); await fetch("https://api.telegram.org/bot" + env.BOT_TOKEN + "/sendMessage", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ chat_id: chatId, text: "پیام شما: " + text }) }); return new Response("OK"); } }; توکن را در کد یا مخزن Git قرار ندهید.
آن را بهعنوان Secret محیط Worker ذخیره کنید. اگر توکن افشا شد، آن را در BotFather باطل و توکن جدید صادر کنید. ثبت Webhook پس از استقرار، یک URL امن در اختیار دارید. با متد setWebhook در Bot API این UR
برای امتیازدهی روی ستارهها کلیک کنید.
نظرات
نظر خود را با دیگران به اشتراک بگذارید.
مقالات مرتبط
مطالب بیشتر در دسته توسعه وب


