Docs

حالت پرسونا

در «حالت پرسونا»، شما می‌توانید ربات تلگرام اختصاصی خود را متصل و ثبت کنید. در این حالت، هر کاربر تلگرام که به ربات پیام می‌دهد، به یک «حساب شبح» (Ghost Account) پایدار در دلتا چت تبدیل می‌شود و با هویت مستقل خود با شما گفتگو می‌کند.

چرا به حالت پرسونا نیاز داریم؟

در «حالت شخصی» (Personal Mode)، ساختار ارتباطی تنها به شما، ربات پورتال و یک چت واحد در دلتا چت محدود است؛ این ساختار برای اهدافی نظیر استفاده از استیکرها و گفتگوی شخصی کفایت می‌کند.

در نقطه مقابل، حالت پرسونا برای افرادی طراحی شده است که در حال حاضر یک ربات اختصاصی در تلگرام دارند یا قصد ساخت آن را دارند. در این حالت، دوستان و گروه‌ها مستقیماً به ربات شخص شما پیام ارسال می‌کنند. بنابراین در محیط دلتا چت، شما پیام‌های این افراد را به صورت مستقیم و با هویت خودشان مشاهده خواهید کرد، نه به عنوان خروجی‌های برچسب‌گذاری‌شده از یک حساب پل ارتباطی اشتراکی.

حساب‌های شبح چگونه کار می‌کنند؟

به ازای هر کاربری که به ربات تلگرام شما پیام می‌دهد، «پورتال» (Portal) یک حساب کاربری واقعی در دلتا چت ایجاد می‌کند که نام و تصویر پروفایل آن از تلگرام دریافت می‌شود. در مراجعات و پیام‌های بعدی، این هویت تغییر نکرده و دقیقاً از همان حساب استفاده خواهد شد.

این حساب شبح، پیام‌های مخاطب را به شکل یک گفتگوی دونفره و عادی (1:1) برای شما ارسال می‌کند؛ به این معنا که هیچ پیشوند اضافی یا عبارت‌هایی نظیر «ارسال شده از طریق پورتال» در پیام وجود نخواهد داشت. در حقیقت، هنگامی که شما به این پیام‌ها پاسخ می‌دهید، برنامه پاسخ شما را از طریق ربات ثبت‌شده در «بات‌فادر» (BotFather) به کاربر تلگرام می‌رساند.

علاوه‌بر این، جدول اطلاعات حساب‌های شبح از جفت‌سازی‌های حالت شخصی کاملاً تفکیک شده است. به عنوان مثال، اگر کاربری به نام Alice با ربات عمومی پورتال جفت شود، سیستم از حساب شبح اختصاصی او در حالت پرسونا مجدداً استفاده نخواهد کرد.

راه‌اندازی و پیکربندی توسط مالک

برای راه‌اندازی این حالت، مراحل زیر را به ترتیب دنبال کنید:

  1. ابتدا متغیرهای mode: persona یا mode: both را به همراه PERSONA_ACCOUNT_QR (یک آدرس با فرمت dcaccount: یا dclogin: که برای آماده‌سازی حساب‌های شبح به کار می‌رود) تنظیم نمایید.
  2. دستور /pair را در ربات پورتال ارسال کرده و فرآیند اتصال را در دلتا چت تکمیل کنید. با این کار هویت دلتا چت شما ذخیره شده و حساب‌های شبح می‌توانند بدون نیاز به ارسال دعوت‌نامه جدید، با شما گفتگو کنند.
  3. یک ربات جدید در BotFather ایجاد کرده و «توکن» (Token) آن را کپی کنید. توجه داشته باشید که هرگز نباید این توکن را در ایشوها یا گفتگوهای عمومی قرار دهید.
  4. سپس در گفتگوی خصوصی با ربات پورتال، دستور زیر را ارسال فرمایید:
/pair-bot <TOKEN> [https://t.me/YourBot]

محدودیت‌های مربوط به این بخش با پارامترهای persona.max_ghosts و persona.max_bots مشخص می‌شوند. برای مشاهده فهرست ربات‌ها از دستور /bots و برای متوقف ساختن آن‌ها از دستور /unpair-bot [id|@user] استفاده کنید. پس از قطع اتصال، با اجرای مجدد دستور /pair-bot می‌توانید همان ربات را دوباره راه‌اندازی نمایید.

مدیریت گروه‌ها

قابلیت پشتیبانی از گروه‌ها به طور پیش‌فرض غیرفعال است. برای فعال‌سازی آن ابتدا persona.allow_groups: true را تنظیم کرده و سپس اقدامات زیر را انجام دهید:

  1. ربات پرسونای خود را به گروه تلگرام مورد نظر اضافه کنید.
  2. در BotFather مسیر Bot Settings → Group Privacy را دنبال کرده و این گزینه را خاموش (Turn off) کنید؛ در غیر این صورت، تلگرام تنها پیام‌های حاوی منشن و دستورات را ارسال می‌کند.
  3. در دلتا چت، گفتگوهای گروهی به صورت یک گروه با نامی مشابه TG: … نمایش داده می‌شوند. هر فرد با حساب شبح خود صحبت می‌کند و شما نیز به عنوان عضوی از گروه حضور خواهید داشت.
  4. پاسخ‌های ارسالی شما در این گروه دلتا چت، به عنوان ربات به تلگرام فرستاده می‌شود و نه با هویت کاربران اصلی.

امنیت و مسئله اعتماد

سرور یا نمونه‌ای که توکن BotFather را در خود ذخیره می‌کند، در عمل همان ربات تلگرام شما خواهد بود. کلیدهای مربوط به حساب‌های شبح در مسیر ./data ذخیره می‌شوند. چنانچه دستور /pair-bot را برای یک نمونه عمومی پورتال متعلق به فردی دیگر ارسال نمایید، عملاً کنترل ربات و تمامی گفتگوهای منتقل‌شده از طریق آن را به او واگذار کرده‌اید. بنابراین پیشنهاد می‌شود از قابلیت میزبانی شخصی (Self-host) استفاده کنید. برای بررسی جزئیات بیشتر، بخش امنیت و اعتماد را مطالعه فرمایید.

مستندات و نکات فنی توسعه‌دهندگان در مخزن پروژه: docs/persona.md · persona-design.md.