اینباکس
اینباکس یکپارچهی TelegramOS: همهی گفتگوهای همهی اکانتهای تلگرام شما در یک صف، همراه با واگذاری و پاسخ.
اینباکس گفتگوهای پیام مستقیم، گروه، کانال و بات را از همهی اکانتهای فضای کاری شما در یک فید بلادرنگ واحد جمع میکند.
مفاهیم اینباکس یکپارچه
هر اکانت اتصال MTProto خودش را از طریق پروکسی خودش نگه میدارد. چتهای خصوصی، گروههای معمولی و سوپرگروهها همیشه دریافت میشوند. پستهای کانالهای broadcast فقط در صورتی دریافت میشوند که کانال در گروههای ردیابیشدهی شما باشد (اختیاری/opt-in؛ فهرست هر 5 دقیقه تازهسازی میشود).
پیامها بر اساس اکانت، شناسهی چت و شناسهی پیام تلگرام یکتاسازی (deduplicate) میشوند.
| قابلیت | توضیح |
|---|---|
| بهروزرسانی بلادرنگ | اتصال Socket.IO پیامهای جدید را به محض رسیدن push میکند. بدون polling. |
| فیلتر به ازای اکانت | اینباکس را طوری فیلتر کنید که فقط پیامهای یک اکانت را نشان دهد. |
| فیلتر به ازای چت | فیلتر روی یک چت، گروه یا کانال مشخص. |
| شمارندههای خواندهنشده | شمارندههای خواندهنشده به ازای هر اکانت و هر چت. |
| جستجو | جستجوی متنی کامل در همهی پیامها (هنگام دریافت ایندکس میشود). |
| پاسخ | از داخل اینباکس به هر پیام مستقیم یا پیام گروهی پاسخ دهید. |
مالکیت، تگ و وضعیت
هر گفتگو یک مالک، فهرستی از تگها و یک وضعیت دارد. هر عضو ورکاسپیس که به اینباکس دسترسی خواندن دارد هر سه را میبیند.
| فیلد | نحوهی کار |
|---|---|
| مالک | گزینهی Assign to me در سربرگ گفتگو آن را به نام شما ثبت میکند و Unassign آن را آزاد میکند. ثبت مالکیت یک قفل ۳۰۰ ثانیهای میگذارد؛ همتیمیای که در این مدت بخواهد گفتگو را بردارد پیام «Locked by another agent» میگیرد. داشبورد گفتگو را فقط به همان فردی که کلیک میکند واگذار میکند؛ PATCH /api/conversations/{id} هر assignee_id را میپذیرد. |
| تگها | برچسبهای متنی آزاد تا ۴۰ نویسه. آنها را در سربرگ گفتگو اضافه یا حذف کنید، با انتخاب گروهی یک تگ را به چند گفتگو بزنید و فهرست را بر اساس تگ فیلتر کنید (گفتگو باید همهی تگهای انتخابشده را داشته باشد). |
| وضعیت | open، pending یا resolved. آن را از سربرگ گفتگو تنظیم کنید یا گفتگوها را بهصورت گروهی حلشده یا دوباره باز کنید. فهرست برای هر وضعیت یک تب دارد. حلشدن زمان حل را ثبت میکند و بازکردن دوباره آن را پاک میکند. |
بهروزرسانی بلادرنگ
اینباکس پیامهای جدید را روی Socket.IO 4 در مسیر /ws روی میزبان سایت (wss://telegramos.net/ws) استریم میکند. با JWT نشست خود در handshake (auth.token)، کوکی access_token یا یک کلید API احراز هویت کنید. کلید API با دامنهی محدود به read و inbox نیاز دارد.
رویدادها بهصورت پیامهای نامدار Socket.IO میرسند، نه در یک پاکت واحد: system.connected وقتی سوکت آماده است، سپس inbox.message برای پیام جدید، notification.new، account.power_changed و بقیه. با subscribe:account در استریم یک اکانت مشترک شوید؛ سرور اکانتهایی را که متعلق به فضای کاری شما نیستند رد میکند.
رویدادها بهصورت زنده روی Redis pub/sub ارسال میشوند و بازپخش نمیشوند. کلاینتی که آفلاین بوده آنها را از دست میدهد. برای جبران، از وبهوکها استفاده کنید (inbox.new_message، inbox.message_failed، inbox.read؛ امضاشده و با تلاش مجدد) یا پیامهای جدیدتر را با GET /api/conversations/{id}/messages?after_msg_id=… واکشی کنید.
رسیدگی به ویرایش و حذف
وقتی پیامی در تلگرام ویرایش میشود، متن ذخیرهشده بازنویسی میشود. تاریخچهی ویرایش نگه داشته نمیشود.
حذفها منتقل نمیشوند. پیامی که در تلگرام حذف شده در اینباکس میماند.
پیوستها
فایلهایی که از طریق اینباکس آپلود میکنید در ذخیرهسازی شیء سازگار با S3 (MinIO) نگهداری میشوند.
| ویژگی | مقدار |
|---|---|
| بکاند ذخیرهسازی | MinIO (سازگار با S3) |
| حداکثر اندازهی آپلود | 20 MB برای هر فایل |
| دانلود | از طریق API استریم میشود. بدون لینک presigned. |
| رسانهی ورودی | بهطور خودکار دانلود نمیشود. در صورت درخواست واکشی میشود. |
ذخیرهسازی پیام
متن پیام بهصورت متن ساده در پایگاه داده ذخیره میشود. در حالت سکون (at rest) رمزنگاری نمیشود.
چت کد ورود برای اجارهایها
پیامهای چت سرویس تلگرام (peer ID 777000) حامل کدهای ورود، کدهای بازیابی 2FA و تأییدیههای نشست هستند. آنها مانند هر پیام دیگری ذخیره میشوند، اما برای اکانتهای اجارهای در زمان کوئری پنهان میشوند: اینباکس آنها را برنمیگرداند. 777000 بهطور پیشفرض در فهرست peerهای پنهان است.
چرا این مهم است: چت 777000 جایی است که تلگرام کدهای ورود یکبارمصرف را میفرستد. اگر دارندهی اجاره بتواند اینها را ببیند، میتواند از یک کلاینت تلگرام دیگر بهعنوان مالک شماره تلفن زیرین احراز هویت کند و مدل ایزولهسازی اجاره را بشکند. پنهانکردن این پیامها یک مرز اصلی حریم خصوصی و امنیت است.
نگهداری اینباکس
پیامهای اینباکس یکپارچه به مدت عمر اکانت مربوطه نگهداری میشوند. وقتی اکانتی آزاد میشود (پایان اشتراک + دورهی مهلت)، همهی پیامهای آن اکانت برای همیشه حذف میشوند. دورهی نگهداری جداگانهای فقط برای اینباکس وجود ندارد.