TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 612 subscribers
Post #560 330
حدود ۵ سال پیش که تصمیم گرفتم پروتکل MTProto رو با PHP ایجاد کنم دانش خیلی خیلی کمی نسبت به الان داشتم

توی اون زمان فکر می‌کردم که ساخت یک کلاینت MTProto صرفا به ایجاد یک کانکشن و رمزنگاری‌هاش هست
و خب این خودش برام یک کابوس بود چون واقعا پیچیده بود، مخصوصا برای من ۵ سال پیش

سال اول حتی جرئت شروع توسعه‌ش رو نداشتم
دو سال بعد حدود ۲۰ تلاش ناموفق داشتم(یک فولدر دارم که توش فولدرهایی با اسم MTProto-v1 تا MTProto-v20 هست و هر کدوم یک ورژن کاملا متفاوت و شکست خورده س😁)

سال چهارم بالاخره موفق شدم که رمزنگاری‌هاش رو درست انجام بدم و کانکشنم رو برقرار کنم، خوشحال بودم چون همه چیز درست کار می‌کرد

سال پنجم که الان هست متوجه شدم که اینها ساده‌ترین بخش کار بودن، و هنوز کلی چیز لازم داره

به عنوان مثال، برای اینکه یک پیام bold ارسال کنیم، باید یک انتیتی‌پارسر بنویسیم
چون در حالت عادی خود پروتکل یا کلاینت قرار نیست اینهارو بفهمه
یک انتیتی‌پارسر که هم مارک‌داون بفهمه، هم html، اونم برای تک تک انتیتی‌های تلگرام

متوجه شدم، فایل‌هایی که تلگرام می‌فرسته فایل ساده و معمولی نیستن، و باید فایل دیکودر و انکودر بنویسم، فایل ساده نمیشه ارسال کرد، پس باید فایل آپلودر بنویسم

متوجه شدم ریسک‌ بن شدن زیاد هست، باید دیوایس و کلاینت واقعی شبیه‌سازی کنم، ریت‌لیمیتر ایجاد کنم

باید بین دیتاسنترها همگام‌سازی ایجاد میکردم

خیلی از پارامترهای api تلگرام پیچیده هستن، باید ساده‌سازی می‌کردم خیلی از پارامترهارو

پی‌اچ‌پی عزیز async نیست و باید با swoole هندلش می‌کردم
باید با لاراگرام سازگارش می‌کردم

و احتمالا کلی چیز میز دیگه که در آینده میفهمم و به پشیمونیم اضافه میشه

ولی حتی کابوس اصلی این ها هم نیست
نگهداری و بروز نگه داشتن اون هست با وجود آپدیت‌های متعدد تلگرام

خلاصه که کم کم دارم پشیمون میشم، ولی خیلی دیره واسش😁
  • 🕊 7
  • ❤ 3
  • 👍 3
  • 🤣 1
More from @amirhdeveloper
  1. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  2. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  3. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  4. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  5. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
  6. Sep 14, 2026پکیج LaraGram Brain منتشر شد و با استفاده از اون دیگه نیازی به کد نوشتن برای ساخت ربات‌هات…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →