ساخت ربات تلگرام بدون هاست و سرور
فهرست مطالب مقاله ساخت ربات تلگرام بدون هاست و سرور
ساخت ربات تلگرام بدون هاست و سرور: راهنمای کامل با Telegram Serverless
اگر تا حالا دنبال ساخت ربات تلگرام بدون هاست و سرور بودید، احتمالاً به یک دیوار برخورد کردهاید: نیاز به یک سرور همیشهروشن (Always-On) برای دریافت پیامها. خبر خیلی خوب این است که از تیر ۱۴۰۵ (ژوئیه ۲۰۲۶)، خودِ تلگرام یک قابلیت رسمی بهنام Telegram Serverless عرضه کرده که اجازه میدهد بکاند ربات تلگرام و دیتابیس ربات مستقیماً روی زیرساخت تلگرام اجرا شود — بدون نیاز حتی به یک حساب شخصثالث. در این مقاله ابتدا سادهترین و رسمیترین روش را قدمبهقدم یاد میگیرید، و در ادامه روشهای جایگزین با پلتفرمهای ابری رایگان (Cloudflare Workers، Vercel، Render) را هم پوشش میدهیم.
سرورلس یعنی چه و چرا برای ربات تلگرام مناسب است؟
در معماری سنتی، ربات شما باید روی یک سرور بهصورت دائم در حال اجرا باشد تا پیامهای ورودی را با متد Polling بررسی کند. این یعنی هزینه ثابت ماهانه، حتی وقتی هیچ کاربری با ربات کار نمیکند.
در مدل سرورلس، بهجای Polling از وب هوک خودکار استفاده میشود. تلگرام هر بار که پیامی برای ربات ارسال میشود، یک درخواست HTTP به کد شما میفرستد؛ کد فقط در همان لحظه اجرا میشود، پاسخ را برمیگرداند و خاموش میشود. نتیجه؟ صفر هزینه نگهداری زیرساخت برای ساخت ربات تلگرام بدون هاست و سرور.
این روش برای سه گروه بهخصوص مناسب است:
- دانشجویان و برنامهنویسانی که میخواهند بدون هزینه یاد بگیرند.
- استارتاپها و کسبوکارهای کوچک که برای MVP یا اتوماسیون داخلی به ربات نیاز دارند.
- هرکسی که به دنبال میزبانی رایگان ربات تلگرام بدون خرید هاست است.
تلگرام سرورلس (Telegram Serverless) چیست؟ سادهترین روش ساخت ربات تلگرام بدون هاست و سرور
Telegram Serverless یک محیط اجرای رسمی است که خودِ تلگرام در اختیار توسعهدهندگان قرار داده تا بکاند ربات تلگرام یا Mini App را مستقیم روی زیرساخت تلگرام اجرا کنند. برخلاف روشهای قبلی که نیاز به یک پلتفرم ابری واسط (مثل Cloudflare یا Vercel) داشتند، اینجا همهچیز — کد، اجرای آن، و حتی دیتابیس — داخل خودِ تلگرام است.
ویژگیهای اصلی این قابلیت جدید:
- بدون زیرساخت جداگانه: هیچ سروری برای اجاره، پچ کردن یا مانیتور کردن وجود ندارد؛ کد بهصورت خودکار مقیاس میگیرد.
- همهچیز آماده: Bot API، یک دیتابیس داخلی SQLite، و HTTP خروجی از ابتدا در دسترس هر ماژول هستند — نیازی به نصب یا تنظیم اعتبارنامه نیست.
- اجرای سریع و ایزوله: هر فراخوانی در یک V8 Isolate سبک و نزدیک به سیستمهای خودِ تلگرام اجرا میشود.
- وبهوک خودکار: برخلاف روشهای سنتی، دیگر لازم نیست دستی
setWebhookبزنید؛ خودِ پلتفرم وبهوک را با هندلرهای دیپلویشده هماهنگ نگه میدارد.
منبع رسمی این قابلیت مستندات Telegram Serverless است.

روش اول و توصیهشده: ساخت ربات تلگرام بدون هاست و سرور با Telegram Serverless
این سادهترین مسیر برای ساخت ربات تلگرام بدون هاست و سرور است، چون نیازی به هیچ حساب کاربری خارج از تلگرام ندارید.
مرحله ۱: فعالسازی Serverless از BotFather
برای فعالسازی Serverless از BotFather قبل از هر چیز باید این قابلیت را برای رباتتان روشن کنید:
- وارد چت با @BotFather شوید.
- ربات موردنظر را انتخاب کنید و روی گزینه Serverless بزنید.
- آن را فعال کنید. با این کار، هندلرها، دیتابیس و توکن دسترسی CLI برای شما باز میشود.
بعد از فعالسازی Serverless از BotFather طبق مراحل زیر پیش بروید:
مرحله ۲: ساخت پروژه
روی سیستم خودتان (نیاز به Node.js نسخه ۱۸ به بالا دارید) دستور زیر را اجرا کنید:
npm create @tgcloud/bot example_bot
cd example_bot
این دستور یک پوشه آماده با ساختار زیر میسازد:
example_bot/
├─ handlers/
│ └─ message.js
├─ lib/
├─ schema.js
└─ package.json
سپس ربات را با توکن دسترسی CLI (از مسیر BotFather → ربات شما → Serverless → CLI Access) متصل کنید:
npx tgcloud login
مرحله ۳: نوشتن هندلر (Handler) و schema.js
فایل schema.js جدول دیتابیس ربات را تعریف میکند:
import { table, integer } from 'sdk/db';
export const counters = table('counters', {
chatId: integer('chat_id').primaryKey(),
seen: integer('seen').notNull().default(0),
});
فایل handlers/message.js منطق پاسخدهی ربات را مشخص میکند:
import { api, db } from 'sdk';
import { counters } from 'schema';
import { sql } from 'sdk/db';
export default async function (message) {
const chatId = message.chat.id;
const [row] = await db.insert(counters)
.values({ chatId, seen: 1 })
.onConflictDoUpdate({
target: counters.chatId,
set: { seen: sql`${counters.seen} + 1` },
})
.returning()
.run();
await api.sendMessage({
chat_id: chatId,
text: `پیام شما دریافت شد. این پیام ${row.seen}اُمین پیام شماست.`,
});
}
مرحله ۴: دیپلوی و اجرای Migration
npx tgcloud push # آپلود کد
npx tgcloud migrate # ساخت جدول دیتابیس
همین! ربات شما اکنون زنده است، بدون اینکه یک خط کد روی هیچ سرور یا هاستی اجرا شده باشد.
مرحله ۵: تست بدون دیپلوی
پیش از انتشار نهایی، میتوانید هندلر را روی پلتفرم تست کنید بدون اینکه چیزی منتشر شود:
npx tgcloud run handlers/message '{ chat: { id: 1 }, text: "سلام" }'
تفاوت Telegram Serverless با پلتفرمهای سرورلس عمومی (Cloudflare / Vercel / Render)
| ویژگی | Telegram Serverless | Cloudflare Workers / Vercel / Render |
|---|---|---|
| نیاز به حساب شخصثالث | خیر | بله |
| دیتابیس داخلی | بله (SQLite رایگان و آماده) | باید جدا تنظیم شود |
| تنظیم وبهوک | خودکار | دستی (setWebhook) |
| مناسب برای | رباتهای تلگرامی و Mini App | هر نوع اپلیکیشن وب یا API عمومی |
| انعطاف زبان برنامهنویسی | فقط JavaScript | چندزبانه (Python، JS و غیره) |
| مناسب برای پردازش سنگین/AI | محدودتر (محیط سبک V8) | در برخی پلتفرمها (مثل Render) انعطاف بیشتر |
اگر ربات شما صرفاً برای تلگرام است و نیازی به منطق پیچیده یا زبان غیر از جاوااسکریپت ندارید، Telegram Serverless سریعترین و سادهترین راه ساخت ربات تلگرام بدون هاست و سرور است. اگر به Python یا پردازشهای سنگینتر نیاز دارید، روشهای جایگزین زیر همچنان گزینههای معتبری هستند.
روشهای جایگزین: ساخت ربات تلگرام بدون هاست و سرور با پلتفرمهای ابری عمومی

مقایسه پلتفرمهای رایگان سرورلس عمومی
| پلتفرم | محدودیت پلن رایگان | نقطه قوت | نقطه ضعف برای ربات تلگرام |
|---|---|---|---|
| Cloudflare Workers | ۱۰۰ هزار درخواست در روز، ۱۰ میلیثانیه CPU در هر اجرا | بدون Cold Start محسوس، شبکه جهانی سریع | برای پردازشهای سنگین (مثل کار با فایل یا AI) محدودیت CPU سختگیرانه است |
| Vercel (Hobby) | حدود ۱۰۰ گیگابایت پهنای باند و مجموعهای از توابع سرورلس در ماه؛ فقط برای استفاده شخصی/غیرتجاری | دیپلوی بسیار ساده، یکپارچگی عالی با گیتهاب | پلن رایگان برای پروژههای تجاری مجاز نیست |
| Render (Free Web Service) | ۵۱۲ مگابایت رم، ۰.۱ CPU، خاموششدن سرویس پس از ۱۵ دقیقه بیفعالیتی | پشتیبانی مستقیم از Python/Node بهصورت وبسرویس کامل (نه فقط تابع) | Cold Start حدود ۳۰ تا ۶۰ ثانیهای که میتواند باعث Timeout در پاسخ به وبهوک تلگرام شود |
نکته شفاف: تلگرام برای وبهوک خودکار انتظار پاسخ سریع دارد. اگر از Render استفاده میکنید، حتماً یک سرویس Ping دورهای (مثل UptimeRobot) راه بیندازید تا ربات «نخوابد».
ساخت ربات با Cloudflare Workers
npm install -g wrangler
wrangler login
npm create cloudflare@latest telegram-bot
cd telegram-bot
کد ربات (JavaScript):
export default {
async fetch(request, env) {
if (request.method !== "POST") {
return new Response("سلام! ربات فعال است.");
}
const update = await request.json();
const chatId = update.message?.chat?.id;
const text = update.message?.text;
if (chatId && text) {
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");
},
};
توکن ربات را در جای امن ذخیره کنید و دیپلوی کنید:
wrangler secret put BOT_TOKEN
wrangler deploy
ساخت ربات با Vercel (Python)
ساختار پروژه:
telegram-bot-vercel/
├── api/
│ └── webhook.py
└── requirements.txt
کد وبهوک خودکار:
from http.server import BaseHTTPRequestHandler
import json
import os
import urllib.request
BOT_TOKEN = os.environ.get("BOT_TOKEN")
class handler(BaseHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers['Content-Length'])
body = json.loads(self.rfile.read(content_length))
chat_id = body.get("message", {}).get("chat", {}).get("id")
text = body.get("message", {}).get("text")
if chat_id and text:
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
data = json.dumps({
"chat_id": chat_id,
"text": f"پیام شما دریافت شد: {text}"
}).encode()
req = urllib.request.Request(
url, data=data,
headers={"Content-Type": "application/json"}
)
urllib.request.urlopen(req)
self.send_response(200)
self.end_headers()
self.wfile.write(b"OK")
متغیر محیطی BOT_TOKEN را در Settings > Environment Variables با نام BOT_TOKEN اضافه کنید و دیپلوی کنید:
vercel --prod
ساخت ربات با Render (مناسب پروژههای Python سنگینتر)
from flask import Flask, request
import requests
import os
app = Flask(__name__)
BOT_TOKEN = os.environ.get("BOT_TOKEN")
@app.route("/webhook", methods=["POST"])
def webhook():
update = request.get_json()
chat_id = update.get("message", {}).get("chat", {}).get("id")
text = update.get("message", {}).get("text")
if chat_id and text:
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
json={"chat_id": chat_id, "text": f"پیام شما دریافت شد: {text}"}
)
return "OK", 200
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))
فایل requirements.txt: flask / requests / gunicorn. دستور استارت در Render: gunicorn app:app
اتصال وبهوک خودکار (فقط برای روشهای جایگزین)
در روش Telegram Serverless این مرحله خودکار است. اما در Cloudflare/Vercel/Render باید دستی وبهوک را تنظیم کنید:
curl -F "url=https://your-domain.com/webhook" \
https://api.telegram.org/bot<TOKEN>/setWebhook
برای بررسی وضعیت:
curl https://api.telegram.org/bot<TOKEN>/getWebhookInfo

رفع خطاهای رایج (Troubleshooting)
خطا در Telegram Serverless: وبهوک «Out of Sync» است یعنی هندلرهای دیپلویشده با تنظیمات فعلی وبهوک هماهنگ نیستند. با دستور npx tgcloud webhook sync آن را دوباره هماهنگ کنید.
خطا در Telegram Serverless: هشدار (Warning) هنگام Migrate معمولاً وقتی رخ میدهد که یک ستون یا جدول را حذف کردهاید. تغییرات مخرب باید جداگانه و آگاهانه تأیید شوند؛ پیش از تأیید، پیام هشدار را با دقت بخوانید.
خطا: Wrong response from the webhook: 500 Internal Server Error (در روشهای جایگزین) یعنی کد شما قبل از پاسخدادن با خطا متوقف شده. لاگ پلتفرم (Cloudflare Dashboard، Vercel Logs یا Render Logs) را چک کنید.
خطا: Timeout یا پاسخندادن ربات بعد از مدتی سکوت (در Render) به دلیل Cold Start است. راهحل: یک سرویس مانیتورینگ رایگان مثل UptimeRobot را روی آدرس سلامت سرویس تنظیم کنید.
خطا: Unauthorized هنگام فراخوانی API تلگرام توکن اشتباه کپی شده یا در متغیر محیطی درست ثبت نشده است.
سؤالات متداول
آیا ساخت ربات تلگرام بدون هاست و سرور واقعاً رایگان است؟ بله. با Telegram Serverless حتی نیازی به هیچ حساب پلتفرم شخصثالثی ندارید و کاملاً رایگان است. در روشهای جایگزین هم تا زمانی که در محدوده پلن رایگان بمانید (مثل ۱۰۰ هزار درخواست روزانه در Cloudflare Workers) هزینهای پرداخت نمیکنید.
Telegram Serverless چه تفاوتی با روشهای قبلی ساخت ربات تلگرام بدون سرور دارد؟ تفاوت اصلی این است که در Telegram Serverless همهچیز — از اجرای کد تا دیتابیس و مدیریت وبهوک — داخل زیرساخت خودِ تلگرام انجام میشود؛ در حالی که در روشهای قبلی باید یک پلتفرم ابری جداگانه (مثل Cloudflare یا Vercel) را خودتان تنظیم و مدیریت کنید.
بهترین روش برای ساخت ربات تلگرام بدون هاست و سرور کدام است؟ اگر ربات شما صرفاً برای تلگرام است، Telegram Serverless سادهترین و رسمیترین گزینه است. اگر به زبانهای دیگر (مثل Python) یا منابع محاسباتی بیشتر نیاز دارید، Cloudflare Workers یا Render گزینههای مناسبتری هستند.
تفاوت Webhook و Polling در ربات تلگرام چیست؟ در Polling، ربات بهصورت مداوم از سرور تلگرام سؤال میکند که «پیام جدیدی هست؟» که نیاز به یک فرآیند همیشهروشن دارد. در Webhook، تلگرام خودش پیام را ارسال میکند؛ همین تفاوت است که ساخت ربات تلگرام بدون هاست و سرور را ممکن میسازد.
جمعبندی و قدم بعدی
ساخت ربات تلگرام بدون هاست و سرور دیگر یک چالش فنی پیچیده نیست. با قابلیت رسمی Telegram Serverless میتوانید در چند دقیقه، بدون هیچ حساب شخصثالث، اولین ربات خود را با دیتابیس داخلی راهاندازی کنید. اگر به انعطاف بیشتری نیاز دارید، Cloudflare Workers، Vercel و Render همچنان گزینههای رایگان و قابلاعتمادی هستند.
اگر همین حالا می خواهید شروع کنید، به BotFather بروید، Serverless را برای رباتتان فعال کنید و دستور npm create @tgcloud/bot را اجرا کنید. اگر در هر مرحله به مشکلی برخوردید، بخش رفع خطاهای رایج را دوباره مرور کنید یا سؤال خود را برای ما بفرستید همچنین برای سفارش ساخت ربات تلگرام حرفه ای می توانید در صفحه طراحی ربات هوشمند درخواست خود را ثبت بفرمایید.
برای کسب اطلاعات بیشتر از شیوه ساخت ربات تلگرام از صفحه آموزش کامل ساخت ربات تلگرام از صفر تا صد (۲۰۲۶) دیدن بفرمایید.
این صفحه چقدر برای شما مفیدبود ؟
0 / 5. 0
اولین کسی باشید که به این صفحه رای میدهد..
مقالات مرتبط
آموزش کامل ساخت ربات تلگرام از صفر تا صد (۲۰۲۶)
صفر تا صد ساخت ربات تلگرام؛ از گرفتن توکن در BotFather تا کدنویسی با پایتون، اتصال به دیتابیس و خرید هاست مناسب. راهنمای عملی و قدمبهقدم.
راهنمای کامل ساخت اپلیکیشن مشابه اسنپ فود | مراحل، امکانات و هزینه
بررسی سیر تا پیاز ساخت اپلیکیشن سفارش آنلاین غذا؛ معرفی ۳ پنل اصلی (کاربر، رستوران، پیک)، فناوریهای مورد نیاز، تخمین هزینه و راهکارهای ورود به بازار.
تفاوت اپ استورهای داخلی و خارجی؛ بررسی امکانات، چالشها و زیرساختها
گوشیهای هوشمند بدون اپ استور، برنامه و بازی، عملاً بخش مهمی از کارایی خود را از دست میدهند. در این مقاله با اپ استورها بیشتر آشنا خواهیم شد
آموزش TestFlight | راهنمای گامبهگام تست اپ iOS (۲۰۲۶) | اپ ساز
با این آموزش TestFlight، نحوه تست اپلیکیشن iOS خود با TestFlight را قبل از انتشار در اپ استور بیاموزید. + نکات کلیدی برای توسعهدهندگان.
چرا استفاده از اپلیکیشنهای موبایل ضروریست؟
گوشی تلفن همراه، تقریبا یک دهه است که با تغییر ماهیتی جدی و آرام پا به زندگی ما گذاشته است. به گونهای پیش رفته که برای افراد تصور زندگی حتی