فارسی
باز کردن در Telegram
|| کانال ربات تلگرام |

| کانال ربات تلگرام |

@DevelopixRobot · کانال · ایندکس از 2026/08/26
47پست در ایندکس
|
| کانال ربات تلگرام |
🧵 مدیریت آپدیت‌ها با webhook به‌جای long polling برای ربات شلوغ وقتی ربات کاربران زیادی دارد، استفاده از getUpdates (همون long polling) می‌تونه هم کند بشه، هم منابع سرور رو الکی درگیر کنه. تو این شرایط، webhook انتخاب خیلی تمیزتر و پایدارتره. 🔧 ایده ساده‌ست: به‌جای این‌که ربات هر چند لحظه بره سراغ Telegram و بگه «آپدیت جدید داری؟»، خود Telegram هر آپدیت رو push می‌کنه به یک URL روی سرور شما. ✅ مزایا تو ربات‌های تلگرام: • مصرف کمتر CPU و پهنای‌باند روی سرور • تاخیر کمتر در دریافت پیام‌ها • مدیریت راحت‌تر scale وقتی تعداد چت‌ها زیاد می‌شه یک نمونه خیلی مینیمال با python-telegram-bot (ورژن جدید async) و Flask: from flask import Flask, request from telegram import Update from telegram.ext import ( Application, CommandHandler, ) TOKEN = "YOUR_BOT_TOKEN" WEBHOOK_URL = "https://example.com/telegram-webhook" app = Flask(__name__) application = Application.builder().token(TOKEN).build() async def start(update: Update, context): await update.message.reply_text("سلام 👋") application.add_handler(CommandHandler("start", start)) @app.post("/telegram-webhook") def webhook(): update = Update.de_json(request.get_json(force=True), application.bot) application.update_queue.put_nowait(update) return "ok" if __name__ == "__main__": import asyncio async def main(): await application.bot.set_webhook(WEBHOOK_URL) app.run(host="0.0.0.0", port=8000) asyncio.run(main()) نکات مهم امنیتی و عملی 🛡️ • حتما از HTTPS استفاده بشه (LetsEncrypt کافیه). • URL وبهوک رو حدس‌زدنی انتخاب نشه (مثلاً یک path تصادفی طولانی). • لاگ خطاها و timeoutهای وبهوک رو حتما چک بشه؛ اگر endpoint زیاد خطا بده، Telegram موقتاً ارسال آپدیت‌ها رو کند می‌کنه. برای جزییات کامل‌تر و پارامترهای setWebhook، داک رسمی Bot API بهترین مرجعه: https://core.telegram.org/bots/api#setwebhook امتحان این معماری روی ربات‌های نسبتا شلوغ، تفاوت سرعت و مصرف منابع رو کاملا نشون می‌ده 🚀 🔖 #TelegramBot #ربات #تلگرام #telegram_bot #webhook #python #perfor… خواندن کامل ←
2 · 596 ·
|
| کانال ربات تلگرام |
‏Anti-Corruption Layer در معماری ربات تلگرام 🧱 یکی از دردسرهای ربات‌های جدی تلگرام این است که باید با سیستم‌های قدیمی (Legacy) مثل CRM، ERP یا درگاه‌های قدیمی صحبت کنند. این سیستم‌ها معمولاً API شلخته، نام‌گذاری بد یا ساختارهای عجیب دارند. اینجاست که مفهوم واقعی و مهم Anti-Corruption Layer (ACL) از دنیای Domain-Driven Design وارد می‌شود. ACL یک لایه میانی است که اجازه نمی‌دهد شلختگی دنیای بیرون وارد مدل تمیز ربات شما شود. 🤝 به جای این‌که همه جای کد ربات پر از type و fieldهای سیستم‌های بیرونی شود، فقط یک نقطه با آن‌ها حرف می‌زند و آن نقطه مسئول تبدیل (Mapping) داده‌هاست. ایده‌ٔ اصلی: • ربات شما یک Domain Model تمیز دارد (User, Order, Subscription و ...) • سیستم بیرونی ساختار خودش را دارد • ACL داده‌ها را بین این دو دنیا تبدیل و ایزوله می‌کند این کار: • وابستگی به سیستم‌های بیرونی را متمرکز می‌کند • تغییر API بیرونی را کم‌هزینه‌تر می‌کند • تست‌نویسی برای منطق ربات را ساده‌تر می‌کند ✅ مثال ساده با Python برای ربات تلگرام: class DomainUser: def __init__(self, id, full_name, is_vip): self.id = id self.full_name = full_name self.is_vip = is_vip # Gateway سیستم قدیمی (مثال REST خام) class LegacyCrmClient: def get_user(self, chat_id: int) -> dict: # در عمل اینجا requests.get و ... دارید return { "contact_id": chat_id, "fname": "Ali", "lname": "Ahmadi", "segment": "gold", # یا basic, silver } # Anti-Corruption Layer class CrmAcl: def __init__(self, client: LegacyCrmClient): self._client = client def get_domain_user(self, chat_id: int) -> DomainUser: raw = self._client.get_user(chat_id) full_name = f"{raw['fname']} {raw['lname']}" is_vip = raw["segment"] in ["gold", "platinum"] return DomainUser( id=raw["contact_id"], full_name=full_name, is_vip=is_vip, ) # استفاده در Handler ربات crm_acl = CrmAcl(LegacyCrmClient()) def handle_start(update, context): user = cr… خواندن کامل ←
6 · 668 ·
|
| کانال ربات تلگرام |
کتابخونهٔ python-telegram-bot یکی از محبوب‌ترین ابزارها برای ساخت ربات تلگرام با Python هست. اگر حوصلهٔ کار مستقیم با HTTP و API خام تلگرام رو نداری، این لایبرری خیلی از دردسرها رو جمع می‌کنه 🧩 چند تا مزیت مهم: • پشتیبانی کامل از Bot API • پشتیبانی هم از polling هم webhook • ساخت راحت inline keyboard و reply keyboard • سیستم handler‌ ها برای مرتب نگه داشتن کد نمونهٔ سادهٔ ربات /start: pip install python-telegram-bot==21.6 from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text("سلام، ربات آنلاینه ✌️") app = ApplicationBuilder().token("BOT_TOKEN").build() app.add_handler(CommandHandler("start", start)) app.run_polling() برای پروژه‌های جدی هم ساختن ساختار تمیز با handler ها و استفاده از webhook روی سرور خیلی راحت می‌شه. پیشنهاد می‌شه مستنداتش رو یک بار کامل اسکن کنی و با مثال‌هاش جلو بری 🚀 Docs | GitHub 🔖 #TelegramBot #ربات #تلگرام #python_telegram_bot #Python #Telegram_Bot #ربات_تلگرام #Webhook #Inline_Keyboard 👤 Developix 💎 Channel: @DevelopixRobot
2 · 641 ·
|
| کانال ربات تلگرام |
به دلیل قطع اینترنت توی این مدت، توسعه ورژن 4 فریم‌ورک LaraGram عقب افتاد. در حالت عادی قرار بود برای خرداد ریلیز بشه، و همونطور که قبلا گفته بودم این ورژن شامل پشتیبانی کامل از MTProto و پکیج‌هایی برای توسعه TMAها بود. ولی توی این شرایط زمان ریلیز شدن نامشخص هست. با این حال از فرصت استفاده کردم و Simula رو توسعه دادم. یک پلتفرم توسعه‌ ربات تلگرامی بدون وابستگی به سرور، SSL، تلگرام یا حتی اینترنت، که خیلی ها درگیرش میشن. این پلتفرم به صورت کامل کلاینت و سرور تلگرام رو شبیه‌سازی می‌کنه. یعنی مثل تلگرام داخل این کلاینت ربات می‌سازید، بهتون توکن میده، و می‌تونید از این توکن توی هر لایبرری به هر زبانی ربات خودتون توسعه بدید. با این تفاوت که باید از کلاینت خودش به جای تلگرام استفاده کنید. این پلتفرم تمام قابلیت‌های تلگرام رو پشتیبانی می‌کنه، حتی قابلیت‌هایی که نیاز به داشتن اکانت پرمیوم دارن رو اینجا می‌تونید رایگان استفاده کنید، مگر قابلیتی رو فراموش کرده باشم اضافه کنم😁 تمام متد‌های تلگرام پشتیبانی میشن، می‌تونید وبهوک ست کنید و و و هر کاری که توی تلگرام قابل انجام هست. در حال حاضر کلاینت این پروژه تحت وب هست، ولی به زودی با استفاده از Tauri کلاینت‌های دسکتاپی رو هم اضافه می‌کنم. ساده‌ترین روش اجرای این پروژه در حال حاضر: 1- دانلود فایل simula-web.zip از این لینک 2- اجرای یکی از کامندهای زیر به نسبت سیستم‌عامل در فولدر دانلود شده: Linux/MacOS: ./run-web.sh Windows: run-web.bat همچنین با کلون کردن ریپوزیتوری می‌تونید از داکر هم برای بیلد و اجرای اون استفاده کنید. برای این پروژه انرژی زیادی گذاشته شده و هنوز اول راهش هست، پس لطفا در توانتون به دوستانتون معرفی کنید، و با استار دادن به ریپوزیتوری ازش حمایت کنید❤️ https://github.com/laraXgram/Simula همچنین حمایت از پروژه LaraGram هم باعث خوشحالی من هست😁 https://github.com/laraXgram/LaraGram @AmirhDeveloper .
4 · 517 ·
|
| کانال ربات تلگرام |
‏Circuit Breaker در ربات‌های تلگرام ⚡️🛡 خیلی وقت‌ها ربات تلگرام ما به یک سرویس خارجی (مثلاً پرداخت، هوش مصنوعی، یا API داخلی شرکت) وابسته است. وقتی آن سرویس کند یا داون می‌شود، ربات هم کند می‌شود، Timeout می‌دهد و تجربه کاربر نابود می‌شود. یکی از الگوهای معماری که اینجا واقعاً نجات‌دهنده است، Circuit Breaker Pattern است. ایدهٔ اصلی: مثل فیوز برق عمل می‌کند؛ اگر درخواست‌های پشت‌سرهم به سرویس خراب شوند، «مدار» را قطع می‌کند و موقتاً دیگر درخواست به آن سرویس نمی‌فرستد. به‌جایش: • سریع جواب fallback می‌دهد ⚙️ • از شلوغ‌تر شدن سرویس خراب جلوگیری می‌کند 🚫 • ربات شما Responsive باقی می‌ماند ✅ سه حالت اصلی: • Closed: همه‌چیز اوکی است، درخواست‌ها مستقیم می‌روند. • Open: خطای زیاد؛ مدار قطع می‌شود، دیگر درخواست مستقیم نمی‌رود. • Half-Open: هر چند ثانیه چند درخواست تستی می‌فرستد؛ اگر موفق شد، برمی‌گردد به Closed. نمونه ساده در Python برای ربات تلگرام: import time import requests class CircuitBreaker: def __init__(self, failure_threshold=3, reset_timeout=10): self.failure_threshold = failure_threshold self.reset_timeout = reset_timeout self.failures = 0 self.state = 'CLOSED' self.last_failure_time = 0 def call(self, func, fallback, *args, **kwargs): if self.state == 'OPEN': if time.time() - self.last_failure_time > self.reset_timeout: self.state = 'HALF_OPEN' else: return fallback() try: result = func(*args, **kwargs) self.failures = 0 self.state = 'CLOSED' return result except Exception: self.failures += 1 self.last_failure_time = time.time() if self.failures >= self.failure_threshold: self.state = 'OPEN' return fallback() cb = CircuitBreaker() استفاده در هندلر پیام: def call_ai_service(text): return requests.post('https://api.example.com/ai', json={'q': text}).json() def ai_fallback(): return {'answer': 'سرویس هوش مصنوعی… خواندن کامل ←
7 · 696 ·
|
| کانال ربات تلگرام |
‏🤖 ساخت ربات آزمون چهارگزینه‌ای در تلگرام با Python تو خیلی از کانال‌ها و گروه‌ها، ربات‌هایی می‌بینی که آزمون چهارگزینه‌ای (Quiz) برگزار می‌کنن، امتیاز می‌دن و حتی جواب درست رو هم نشون می‌دن. امروز با هم یک نسخه ساده و عملی از همین ایده رو با Python و کتابخونهٔ pyTelegramBotAPI می‌سازیم 😎 ایده اینه: • کاربر /quiz رو می‌فرسته. • ربات یک سوال چهارگزینه‌ای با دکمه‌های Inline می‌فرسته. • با کلیک روی گزینه، ربات می‌گه درست بود یا غلط. این مدل ربات برای کوییزهای آموزشی، آزمون زبان، تمرین الگوریتم و حتی سرگرمی توی گروه‌ها عالیه. این کد رو براساس داکیومنت رسمی Bot API و کتابخونهٔ pyTelegramBotAPI نوشتیم و روی BotFather معمولی کاملاً جواب می‌ده ✅ اول با pip نصب کن: pip install pyTelegramBotAPI سپس یک فایل مثل quiz_bot.py بساز و این کد رو داخلش بذار (توکن رو از BotFather بردار و جایگزین کن): import telebot from telebot import types API_TOKEN = "YOUR_BOT_TOKEN_HERE" bot = telebot.TeleBot(API_TOKEN) # یک سوال نمونه QUESTION = "کدام زبان برای توسعه ربات تلگرام در این مثال استفاده شده است؟" OPTIONS = ["Java", "Python", "PHP", "Go"] CORRECT_INDEX = 1 # Python @bot.message_handler(commands=["start"]) def send_welcome(message): bot.reply_to(message, "سلام! برای شروع آزمون دستور /quiz رو بفرست ✅") @bot.message_handler(commands=["quiz"]) def send_quiz(message): keyboard = types.InlineKeyboardMarkup() for i, option in enumerate(OPTIONS): btn = types.InlineKeyboardButton( text=option, callback_data=f"quiz_{i}" ) keyboard.add(btn) bot.send_message( message.chat.id, QUESTION, reply_markup=keyboard ) @bot.callback_query_handler(func=lambda call: call.data.startswith("quiz_")) def handle_quiz_answer(call): index = int(call.data.split("_")[1]) if index == CORRECT_INDEX: text = "آفرین 🎉 جواب درست بود (Python)." else: correct_option = OPTIONS[CORRECT_INDEX] text = f"❌ نه! جواب درست: {correct_option}" # پاسخ به همون پیام bot.answer_callback_qu… خواندن کامل ←
2 · 716 ·
|
| کانال ربات تلگرام |
‏Idempotency در Webhook ربات تلگرام چیه؟ 🔁 یکی از مشکل‌های رایج تو ربات‌های تلگرام اینه که یه آپدیت چند بار پردازش می‌شه؛ مخصوصاً وقتی: • سرور delay داره ⏳ • ngrok / proxy قطع و وصل می‌شه • خودت retry برای request‌هات گذاشتی اینجاست که مفهوم Idempotency نجاتت می‌ده؛ یعنی اجرای چندبارهٔ یه عملیات، اثر اضافه‌ای نسبت به بار اول نداشته باشه. ✅ در ربات تلگرام، بهترین candidate برای Idempotency همون update_id هر پیام یا callback هست. ایدهٔ اصلی: 1️⃣ هر update_id رو فقط یه بار قبول کن. 2️⃣ اگر دوباره همون update_id رسید، به‌جای دوباره انجام دادن کار (مثلاً برداشت از کیف پول کاربر)، فقط نتیجهٔ قبلی رو برگردون یا بی‌صدا ignore کن. یه پیاده‌سازی ساده با Python + Redis 🐍 import time import redis from flask import Flask, request r = redis.Redis(host="localhost", port=6379, db=0) app = Flask(__name__) IDEMPOTENCY_TTL = 60 * 5 # 5 دقیقه @app.post("/webhook") def telegram_webhook(): update = request.get_json(force=True) update_id = update.get("update_id") if update_id is None: return "ok" # ورودی نامعتبر، بی‌صدا رد می‌کنیم cache_key = f"tg:update:{update_id}" # اگر قبلاً پردازش شده، دوباره انجام نده if r.exists(cache_key): return "ok" # idempotent پاسخ # قفل سبک برای این update with r.lock(f"lock:{cache_key}", timeout=5): if r.exists(cache_key): return "ok" handle_update(update) # علامت‌گذاری به‌عنوان پردازش‌شده r.setex(cache_key, IDEMPOTENCY_TTL, int(time.time())) return "ok" def handle_update(update: dict) -> None: message = update.get("message", {}) text = message.get("text", "") chat_id = message.get("chat", {}).get("id") if text == "/start": send_welcome(chat_id) def send_welcome(chat_id: int) -> None: # اینجا فراخوانی sendMessage به Bot API رو انجام بده ... نکات مهم در عمل 🚀 • TTL مناسب بذار؛ معمولاً چند دقیقه برای update_id ها کافیه. • تو عملیات حساس مثل پرداخت، حتماً Idempotency رو تا لایهٔ دیتابیس ادامه بده (مثلاً با… خواندن کامل ←
8 · 883 ·
|
| کانال ربات تلگرام |
🎯 ریپلای تمیز توی ربات: همیشه از reply_to_message_id استفاده کن وقتی ربات توی گروه‌ها شلوغ می‌شود، مهم است جواب هر کاربر دقیقاً زیر پیام خودش بیاید؛ مخصوصاً وقتی چند نفر همزمان از ربات استفاده می‌کنند. به‌جای این‌که فقط به chat تکیه شود، بهتر است همیشه از فیلد reply_to_message_id استفاده شود تا رشتهٔ گفتگو مرتب بماند. 😉 نمونه با Python و python-telegram-bot (v20+): from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): msg = update.effective_message await msg.reply_text( "سلام 👋\nدر چه کاری کمک می‌کنم؟", reply_to_message_id=msg.message_id ) app = ApplicationBuilder().token("YOUR_TOKEN").build() app.add_handler(CommandHandler("start", start)) app.run_polling() این کار توی گروه‌ها و سوپرگروه‌ها: • 📌 جریان گفتگو را واضح نگه می‌دارد. • 🚫 احتمال اشتباه یا سوتفاهم را کم می‌کند. • 💬 مخصوصاً برای ربات‌های پشتیبانی، Quiz یا Ticket خیلی حیاتی است. موقع ارسال پیام با sendMessage در Bot API خام هم کافی است همیشه reply_to_message_id را با message_id پیام کاربر ست کنی. 🔗 مستند رسمی: Telegram Bot API – sendMessage 🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #reply_to_message_id #python_telegram_bot #group_bots #conversation 👤 Developix 💎 Channel: @DevelopixRobot
6 · 777 ·
|
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه GrammY منتشر شده است 🔸 ارتقا از نسخه 1.43.0 به 1.44.0 💎 @DevelopixRobot
3 · 638 ·
|
| کانال ربات تلگرام |
📌 ساخت منوی اینلاین حرفه‌ای در ربات تلگرام با Telegraf (Node.js) اگر تا حالا رباتی دیدی که زیر هر پیام چند تا دکمه شیک اینلاین داره (مثلاً «خرید»، «اطلاعات بیشتر»، «بازگشت»)، دقیقاً همون چیزی رو می‌خوایم بسازیم 😎 تو این پست می‌ریم سراغ ساخت یک ربات Node.js با Telegraf که: • یک دستور /start داره ✅ • زیر پیام، Inline Keyboard نشون می‌ده ✅ • روی هر دکمه کلیک بشه، بدون ارسال پیام جدید، فقط متن همون پیام رو آپدیت می‌کنه ✅ منبع اصلی این ایده از داکیومنت رسمی Telegraf هست: telegraf.js.org - Inline Keyboards برای شروع، فقط لازمه Node.js نصب باشه و یک Bot Token هم از @BotFather گرفته باشی. ۱️⃣ نصب Telegraf داخل پوشه پروژه: npm init -y npm install telegraf ۲️⃣ یک ربات ساده با Inline Keyboard فایل مثلاً bot.js: const { Telegraf, Markup } = require('telegraf'); // BotFather توکن رباتت رو اینجا بذار const bot = new Telegraf('YOUR_BOT_TOKEN_HERE'); // /start - نمایش منوی اینلاین bot.start((ctx) => { return ctx.reply( 'سلام 👋\nیک گزینه انتخاب کن:', Markup.inlineKeyboard([ [ Markup.button.callback('📊 وضعیت ربات', 'status'), Markup.button.callback('ℹ️ درباره', 'about'), ], [ Markup.button.url('🌐 وب‌سایت رسمی', 'https://core.telegram.org/bots'), ], ]) ); }); // هندل کردن callbackهای اینلاین bot.action('status', async (ctx) => { await ctx.answerCbQuery(); // بستن لودینگ کوچک تلگرام await ctx.editMessageText('✅ ربات آنلاین است و مشکلی ندارد.'); }); bot.action('about', async (ctx) => { await ctx.answerCbQuery(); await ctx.editMessageText( 'این یک نمونه ربات ساده با Inline Keyboard است.\n' + 'با Telegraf می‌توانی ربات‌های خیلی حرفه‌ای‌تر بسازی 😉' ); }); // اجرای ربات با Long Polling bot.launch().then(() => { console.log('Bot started...'); }); // برای shutdown تمیز (مخصوص سرورهای واقعی) process.once('SIGINT', () => bot.stop('SIGINT')); process.once('SIGTERM', () => bot.stop('SIGTERM')); حالا فقط کافیه: node bot.js رو اجرا کنی و تو تلگرام به رباتت /start بفرستی. می‌بینی که دکمه‌ها زیر پیام ظ… خواندن کامل ←
4 · 646 ·
|
| کانال ربات تلگرام |
‏Command Pattern در معماری ربات تلگرام 🚀 یکی از الگوهای خیلی کاربردی برای تمیز نگه داشتن کد ربات، مخصوصاً وقتی تعداد دستورات زیاد می‌شود، Command Pattern است. به‌جای اینکه داخل یک فایل بزرگ با کلی if/elif همهٔ دستورها را هندل کنیم، هر دستور را به‌صورت یک «Command» جداگانه پیاده‌سازی می‌کنیم. این کار: ✅ کد را خواناتر و قابل نگه‌داری‌تر می‌کند ✅ اضافه کردن دستور جدید را ساده و بدون دست‌کاری منطق قبلی می‌کند ✅ تست‌نویسی برای هر دستور را راحت‌تر می‌کند ایدهٔ اصلی Command Pattern 🧠 هر دستور (مثلاً /start، /help، /stats) تبدیل می‌شود به یک کلاس با یک متد ثابت، مثلاً execute(). یک «Command Bus» یا «Dispatcher» فقط تشخیص می‌دهد کاربر چه دستوری داده و Command مناسب را صدا می‌زند؛ خودش منطق دستور را بلد نیست. نمونهٔ ساده در ربات تلگرام (python-telegram-bot) 🐍 from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes class BaseCommand: async def execute(self, update: Update, context: ContextTypes.DEFAULT_TYPE): raise NotImplementedError class StartCommand(BaseCommand): async def execute(self, update, context): await update.message.reply_text("سلام 👋 خوش اومدی!") class HelpCommand(BaseCommand): async def execute(self, update, context): await update.message.reply_text("لیست دستورات: /start, /help") class CommandDispatcher: def __init__(self): self._commands = { "start": StartCommand(), "help": HelpCommand(), } async def handle(self, update, context): name = update.message.text.lstrip("/").split()[0] cmd = self._commands.get(name) if cmd: await cmd.execute(update, context) dispatcher = CommandDispatcher() async def entrypoint(update: Update, context: ContextTypes.DEFAULT_TYPE): await dispatcher.handle(update, context) app = ApplicationBuilder().token("TOKEN").build() app.add_handler(CommandHandler(["start", "help"], entrypoint)) app.run_polling() چند نکتهٔ عملی برای ربات‌های واقعی 🛠 • برای هر Comm… خواندن کامل ←
6 · 624 ·
|
| کانال ربات تلگرام |
عکس
💠 نسخه جدید رابط توسعه ربات تلگرام (Telegram Bot API) منتشر شده است 🔸 ارتقا از نسخه 10.1 به 10.2 🔹 لیست تغییرات این نسخه: - پشتیبانی از «پیام‌های غنی» با قالب‌بندی پیشرفته متن - امکان استریم و ویرایش زنده پیام‌های غنی - قابلیت «درخواست عضویت»‌ با متدها و فیلدهای جدید - افزودن لینک و مدیای پیشرفته به نظرسنجی‌ها - بهبودهای عمومی در ساختار پیام‌ها، جداول، لیست‌ها و … - تغییرات جزئی دیگر در انواع و متدهای Bot API 🔖 #telegram_bot_api, #bot, #release 💎 @DevelopixRobot
2 · 484 ·
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه لاراگرام (Laragram) منتشر شده است 🔸 ارتقا از نسخه 3.3.2 به 4.0.3 🔖 #laragram, #bot, #php, #laravel, #release 💎 @DevelopixRobot
419 ·
|
🧩 ورژن 4 فریم‌ورک LaraGram منتشر شد. یکی از مهم‌ترین قابلیت‌های LaraGram 4، معرفی پکیج MTProto است؛ پکیجی که با هدف ساده‌سازی توسعه پروژه‌های مبتنی بر Telegram MTProto API طراحی شده است. توسعه با MTProto معمولاً با چالش‌هایی مانند مدیریت Session، احراز هویت، نگهداری اتصال، دریافت Updateها، مدیریت Flood Wait و پیکربندی‌های پیچیده همراه است. در LaraGram تلاش شده تمام این پیچیدگی‌ها از مسیر توسعه‌دهنده حذف شود تا تجربه‌ای مشابه توسعه یک ربات معمولی، اما با قدرت کامل MTProto داشته باشید. ⚡️ شروع کار بدون دردسر با LaraGram Installer برای اینکه حتی مرحله راه‌اندازی هم ساده باشد، LaraGram Installer تمام مراحل اولیه را برای شما انجام می‌دهد. با استفاده از Installer، فرآیندهایی مانند: - نصب LaraGram - نصب و آماده‌سازی پکیج MTProto - انجام کانفیگ‌های اولیه - آماده‌سازی ساختار پروژه به صورت خودکار انجام می‌شود. بعد از نصب، کافی است Handlerهای موردنظر خود را تعریف کنید و منطق برنامه را بنویسید؛ بخش زیادی از کارهای مربوط به زیرساخت، اتصال و مدیریت سرویس توسط خود LaraGram انجام خواهد شد. ⚡️ قدرت گرفته از Surge و Swoole/OpenSwoole ‏MTProto در LaraGram بر پایه Surge و Swoole/OpenSwoole توسعه داده شده است؛ یعنی به جای اجرای سنتی PHP، از یک Runtime دائمی و Event-Driven استفاده می‌کند. این معماری باعث می‌شود MTProto بتواند برای ارتباط‌های دائمی و پروژه‌های Real-Time عملکرد بسیار بهتری داشته باشد: 🚀 پردازش سریع‌تر Updateها 🔄 مدیریت همزمان اتصال‌ها 💾 مصرف بهینه‌تر منابع ⚡️ حذف سربار اجرای مجدد برنامه 📈 آمادگی برای پروژه‌های بزرگ و پرترافیک 🧠 تمام امکانات MTProto، آماده استفاده در MTProto LaraGram بسیاری از قابلیت‌هایی که معمولاً نیاز به پیاده‌سازی دستی دارند، به صورت داخلی فراهم شده‌اند، به عنوان مثال شبیه سازی رفتار انسان، یا اعمال لیمیت‌های خودکار به صورت هوشمند. در نتیجه، توسعه‌دهنده به جای درگیر شدن با جزئیات سطح پایین، روی ساخت قابلیت‌های اصلی پروژه تمرکز می‌کند. نکته: به دلیل استفاده از Swoole/OpenSwoole، پکیج MTProto روی هاست‌های اشتراکی قابل اجرا نیست و برای استفاده از آن به یک VPS نیاز خواهید داشت. ‏🌐 MTProto + Web Routing؛ ساخت Telegram Client تحت وب یکی از جذاب… خواندن کامل ←
14 · 1.7K ·
|
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه GrammY منتشر شده است 🔸 ارتقا از نسخه 1.44.0 به 1.45.1 🔖 #grammy, #js, #bot, #release 💎 @DevelopixRobot
484 ·
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است 🔸 ارتقا از نسخه 3.29.1 به 3.30.0 🔖 #aiogram, #bot, #python, #release 💎 @DevelopixRobot
531 ·
|
🚀 ربات سریع‌تر با استفاده از Webhook به‌جای getUpdates خیلی از ربات‌ها هنوز با Polling و متد getUpdates کار می‌کنند و هر چند صد میلی‌ثانیه یک‌بار سر می‌زنند ببینند پیام جدیدی آمده یا نه. این کار هم تاخیر را بالا می‌برد، هم روی سرور و هم روی Telegram بار اضافه می‌اندازد. راه بهتر توی Production استفاده از Webhook است؛ Telegram هر آپدیت را مستقیم به آدرس HTTPS سرور می‌فرستد، بدون Loop و Delay اضافه 👍 نمونه تنظیم Webhook با python-telegram-bot: from telegram.ext import Application, CommandHandler TOKEN = "YOUR_BOT_TOKEN" app = Application.builder().token(TOKEN).build() async def start(update, context): await update.message.reply_text("سلام 👋") app.add_handler(CommandHandler("start", start)) app.run_webhook( listen="0.0.0.0", port=8443, url_path=TOKEN, webhook_url=f"https://example.com/{TOKEN}" ) نکته مهم 🔐: حتما از HTTPS معتبر استفاده شود و url_path را تصادفی و غیرقابل حدس انتخاب کن تا اسکن‌های ساده به ربات نرسند. مرجع رسمی: Telegram Bot API – setWebhook 🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #Webhook #Performance #python_telegram_bot #Security 👤 Developix 💎 Channel: @DevelopixRobot
2 · 570 ·
|
| کانال ربات تلگرام |
عکس
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀 با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود: ✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت ✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه ✅ ترافیک آپلود رایگان ✅ بدون محدودیت زمانی سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید. 👇 مشاهده پلن‌های سرور ابری هاست‌ایران hostiran.club/Migration hostiran.club/Migration
595 ·
|
| کانال ربات تلگرام |
✏️ ویرایش پیام ربات به‌جای ارسال پیام‌های تکراری خیلی وقت‌ها ربات برای «وضعیت پردازش»، «نتایج جستجو» یا «پیغام لودینگ» پشت سر هم پیام جدید می‌فرستد و چت را شلوغ می‌کند. یک ترفند ساده این است که به‌جای پیام‌های جدید، همان پیام قبلی را با editMessageText آپدیت کنی. 😉 ✅ مزیت‌ها: • چت تمیزتر و حرفه‌ای‌تر ✨ • مصرف کمتر quota و ترافیک • تجربه کاربری خیلی روان‌تر مثال با Python و python-telegram-bot: from telegram import Update from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): msg = await update.message.reply_text("در حال پردازش...") # ... کد پردازش ... await msg.edit_text("✅ نتیجه آماده شد!") app = ApplicationBuilder().token("YOUR_TOKEN").build() app.add_handler(CommandHandler("start", start)) app.run_polling() نکته 👇 برای ویرایش، باید message_id همان پیام قبلی را داشته باشی (در مثال بالا همون msg). اگر پیام قدیمی خیلی وقت پیش ارسال شده باشد یا کاربر آن را حذف کرده باشد، API خطا برمی‌گرداند؛ بهتر است خطا را لاگ و هندل کنی. 📚 داک رسمی: EditMessageText - Telegram Bot API 🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #editMessageText #Python #UX #Chat_Cleanliness #Performance 👤 Developix 💎 Channel: @DevelopixRobot
590 ·
|
| کانال ربات تلگرام |
کتابخانهٔ Telegraf یکی از محبوب‌ترین ابزارها برای ساخت ربات تلگرام با جاوااسکریپت روی Node.js است. روی Bot API خام سوار می‌شود و دردسر مدیریت requestها، انواع آپدیت و middleware را کم می‌کند. 🚀 چرا Telegraf؟ • ساخت سریع ربات بدون درگیر شدن با جزئیات HTTP • پشتیبانی قوی از inline keyboard، reply markup، commandها و context • معماری middleware شبیه Express برای مدیریت منظم منطق ربات • پشتیبانی هم از long polling و هم webhook نمونه‌کد سریع npm install telegraf const { Telegraf } = require('telegraf'); const bot = new Telegraf(process.env.BOT_TOKEN); bot.start((ctx) => ctx.reply('سلام، ربات Telegraf اینجاست!')); bot.hears('دکمه', (ctx) => { ctx.reply('انتخاب کن', { reply_markup: { inline_keyboard: [[{ text: 'سایت', url: 'https://core.telegram.org' }]] } }); }); bot.launch(); برای ربات‌های واقعی، استفاده از middleware برای log، auth و rate limit بسیار کمک‌کننده است. لینک‌ها: مستندات رسمی Telegraf GitHub پروژه تجربهٔ ساخت ربات با Telegraf معمولاً لذت‌بخش و سریع است؛ امتحانش ارزش دارد. 😉 tags: Telegraf, Node.js, Telegram Bot, JavaScript 🔖 #TelegramBot #ربات #تلگرام #Telegraf #Node_js #Telegram_Bot #JavaScript 👤 Developix 💎 Channel: @DevelopixRobot
502 ·
|
| کانال ربات تلگرام |
عکس
🔥 پروژه: ‏TikTok Live Connector برای ربات‌ها کتابخانه Node.js ‏TikTok Live Connector این امکان را می‌دهد ایونت‌های لایو تیک‌تاک (کامنت، هدیه و غیره) را به‌صورت realtime بگیری. برای توسعه‌دهنده‌ ربات تلگرام یعنی می‌توانی: • سینک چت لایو تیک‌تاک با گروه تلگرام 🙂 • ساخت رباتی که براساس هدیه‌ها، پیام یا نوتیفیکیشن بفرستد جزییات و نمونه‌کدها را این‌جا ببین: GitHub پروژه ⭐️ 2,128 ستاره 🔖 #TelegramBot #ربات #تلگرام #توسعه‌دهندگان_ربات #ربات_تلگرام 💎 @DevelopixRobot
3 · 409 ·
|
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است 🔸 ارتقا از نسخه 3.30.0 به 3.31.0 🔖 #aiogram, #bot, #python, #release 💎 @DevelopixRobot
453 ·
|
| کانال ربات تلگرام |
عکس
💠 نسخه جدید کتابخانه GrammY منتشر شده است 🔸 ارتقا از نسخه 1.45.1 به 1.46.0 🔖 #grammy, #js, #bot, #release 💎 @DevelopixRobot
1 · 508 ·
|
| کانال ربات تلگرام |
خیلی وقت‌ها ربات لینک می‌فرستد، اما پیش‌نمایش بزرگ صفحه کل کل چت را شلوغ می‌کند 😅 مخصوصاً برای پیام‌های سیستمی یا دکمه‌دار. با استفاده از پارامتر disable_web_page_preview در متد sendMessage می‌توان پیش‌نمایش را خاموش کرد تا چت تمیز و فشرده بماند ✅ مثال با Bot API مستقیم: <code class="language-python">https://api.telegram.org/botTOKEN/sendMessage\ ?chat_id=123456\ &text=Check%20this%20link:%20https://example.com\ &disable_web_page_preview=true</code> مثال با کتابخانه python-telegram-bot: <code class="language-python">await context.bot.send_message( chat_id=update.effective_chat.id, text="لینک مستندات: https://core.telegram.org/bots/api", disable_web_page_preview=True, )</code> نکته‌ها ✨ • برای پیام‌های اطلاع‌رسانی، دکمه‌ای و لاگ‌ها، تقریباً همیشه گزینه بهتری است. • برای لینک‌های محتوایی (مقاله، ویدئو) فقط در صورت نیاز خاموش شود تا کاربر پیش‌نمایش را از دست ندهد. بار بعد که ربات لینک فرستاد و چت شلوغ شد، یک بار این گزینه را تست کن 😉 منبع رسمی: Telegram Bot API - sendMessage 🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #disable_web_page_preview #sendMessage #python_telegram_bot #UX 👤 Developix 💎 Channel: @DevelopixRobot
3 · 505 ·
|
| کانال ربات تلگرام |
عکس
🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraGram، لازم نیست حتماً خودتون دست به کد بشید؛ یا حتی با توسعه ربات تلگرامی آشنا باشید! کافیه ایده و توضیحات پروژه‌ای که می‌خواید رو به یک ایجنت هوش‌مصنوعی بدید و باقی کار رو به خودش بسپارید. 🤖 ‏LaraGram Brain یک MCP Server برای فریم‌ورک LaraGram هست که مجموعه‌ای از ابزارها و اسکیل‌ها رو در اختیار ایجنت‌های هوش‌مصنوعی قرار می‌ده تا بتونن پروژه رو بهتر بشناسن، پیاده‌سازی کنن، تست بگیرن و حتی مشکلاتش رو بررسی کنن. از جمله امکاناتش: • اجرای متدهای تلگرام در محیط Sandbox بدون ارسال واقعی • دسترسی به Schema و مستندات Telegram • بررسی ساختار و Queryهای دیتابیس • مشاهده Logهای برنامه • جست‌وجو در مستندات LaraGram •‏ Skillهای مربوط به Bot، MTProto، TMA و Web Pages فرقی نمی‌کنه پروژه‌تون یه ربات ساده باشه یا یک پروژه پیچیده با MTProto و TMA؛ توضیحاتش رو به ایجنت بدید و اجازه بدید کار رو خودش انجام بده. لینک پروژه‌ها: 🧩 LaraGram 🧩 Brain 🔖 #TelegramBot #ربات #تلگرام 💎 Channel: @DevelopixRobot
21 · 1.2K ·

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما