Telegram
عامل Triggerfish خود را به Telegram متصل کنید تا بتوانید از هر دستگاهی که Telegram استفاده میکنید با آن تعامل داشته باشید. آداپتور از فریمورک grammY برای ارتباط با Bot API Telegram استفاده میکند.
راهاندازی
مرحله ۱: ایجاد ربات
۱. Telegram را باز کنید و @BotFather را جستجو کنید ۲. /newbot بفرستید ۳. یک نام نمایشی برای ربات انتخاب کنید (مثلاً «My Triggerfish») ۴. یک نام کاربری برای ربات انتخاب کنید (باید به bot ختم شود، مثلاً my_triggerfish_bot) ۵. BotFather با توکن ربات پاسخ میدهد — آن را کپی کنید
توکن خود را مخفی نگه دارید توکن ربات شما کنترل کامل ربات را اعطا میکند. هرگز آن را در کنترل منبع ثبت نکنید یا به اشتراک عمومی نگذارید. Triggerfish آن را در کلیدزنجیر سیستمعامل ذخیره میکند. :::
مرحله ۲: دریافت شناسه کاربر Telegram
Triggerfish به شناسه عددی کاربر شما نیاز دارد تا تأیید کند که پیامها از طرف شماست. نامهای کاربری Telegram قابل تغییر هستند و برای هویت قابل اعتماد نیستند — شناسه عددی دائمی است و توسط سرورهای Telegram تعیین میشود، بنابراین قابل جعل نیست.
۱. @getmyid_bot را در Telegram جستجو کنید ۲. هر پیامی بفرستید ۳. با شناسه کاربر شما پاسخ میدهد (عددی مانند 8019881968)
مرحله ۳: افزودن کانال
راهاندازی تعاملی را اجرا کنید:
bash
triggerfish config add-channel telegramاین توکن ربات، شناسه کاربر و سطح طبقهبندی را درخواست میکند، سپس پیکربندی را در triggerfish.yaml مینویسد و پیشنهاد راهاندازی مجدد daemon را میدهد.
همچنین میتوانید بهصورت دستی اضافه کنید:
yaml
channels:
telegram:
# botToken در کلیدزنجیر سیستمعامل ذخیره شده
ownerId: 8019881968
classification: INTERNAL| گزینه | نوع | الزامی | توضیحات |
|---|---|---|---|
botToken | string | بله | توکن Bot API از @BotFather |
ownerId | number | بله | شناسه عددی کاربر Telegram شما |
classification | string | خیر | سقف طبقهبندی (پیشفرض: INTERNAL) |
مرحله ۴: شروع گفتگو
پس از راهاندازی مجدد daemon، ربات خود را در Telegram باز کنید و /start بفرستید. ربات برای تأیید فعال بودن اتصال به شما خوشامد میگوید. سپس میتوانید مستقیماً با عامل خود گفتگو کنید.
رفتار طبقهبندی
تنظیم classification یک سقف است — حداکثر حساسیت دادهای که میتواند از این کانال برای مکالمات مالک عبور کند را کنترل میکند. بهطور یکنواخت برای تمام کاربران اعمال نمیشود.
نحوه عملکرد هر پیام:
- شما به ربات پیام میدهید (شناسه کاربر شما با
ownerIdمطابقت دارد): نشست از سقف کانال استفاده میکند. با پیشفرضINTERNAL، عامل شما میتواند دادههای سطح داخلی را با شما به اشتراک بگذارد. - شخص دیگری به ربات پیام میدهد: نشست آنها صرفنظر از طبقهبندی کانال بهصورت خودکار
PUBLICآلوده میشود. قانون عدم نوشتن به پایین از رسیدن هر داده داخلی به نشست آنها جلوگیری میکند.
این بدان معناست که یک ربات Telegram واحد بهصورت ایمن هم مکالمات مالک و هم غیرمالک را مدیریت میکند. بررسی هویت در کد قبل از دیدن پیام توسط LLM رخ میدهد — LLM نمیتواند بر آن تأثیر بگذارد.
| طبقهبندی کانال | پیامهای مالک | پیامهای غیرمالک |
|---|---|---|
PUBLIC | PUBLIC | PUBLIC |
INTERNAL (پیشفرض) | تا INTERNAL | PUBLIC |
CONFIDENTIAL | تا CONFIDENTIAL | PUBLIC |
RESTRICTED | تا RESTRICTED | PUBLIC |
سیستم طبقهبندی را برای مدل کامل و نشستها و Taint را برای نحوه عملکرد افزایش Taint ببینید.
هویت مالک
Triggerfish وضعیت مالک را با مقایسه شناسه عددی Telegram فرستنده با ownerId پیکربندیشده تعیین میکند. این بررسی در کد قبل از دیدن پیام توسط LLM رخ میدهد:
- مطابقت — پیام بهعنوان مالک علامتگذاری میشود و میتواند تا سقف طبقهبندی کانال به داده دسترسی پیدا کند
- عدم مطابقت — پیام با Taint
PUBLICعلامتگذاری میشود و قانون عدم نوشتن به پایین از جریان هر داده طبقهبندیشده به آن نشست جلوگیری میکند
همیشه شناسه مالک را تنظیم کنید بدون ownerId، Triggerfish تمام فرستندگان را بهعنوان مالک برخورد میکند. هرکسی که ربات شما را پیدا کند میتواند تا سطح طبقهبندی کانال به دادههای شما دسترسی پیدا کند. به همین دلیل این فیلد در حین راهاندازی الزامی است. :::
تقسیمبندی پیام
Telegram محدودیت ۴٬۰۹۶ کاراکتری دارد. وقتی عامل شما پاسخی بلندتر از این تولید میکند، Triggerfish بهصورت خودکار آن را به چند پیام تقسیم میکند. تقسیمکننده روی خطوط جدید یا فاصلهها برای خوانایی میشکند — از بریدن کلمات یا جملات از وسط اجتناب میکند.
انواع پیام پشتیبانیشده
آداپتور Telegram در حال حاضر مدیریت میکند:
- پیامهای متنی — پشتیبانی کامل ارسال و دریافت
- پاسخهای بلند — بهصورت خودکار برای جا شدن در محدودیتهای Telegram تقسیم میشوند
نشانگرهای تایپ
وقتی عامل شما در حال پردازش درخواست است، ربات «در حال تایپ...» را در چت Telegram نشان میدهد. نشانگر در حالی که LLM در حال تولید پاسخ است اجرا میشود و وقتی پاسخ ارسال شد پاک میشود.
تغییر طبقهبندی
برای بالا بردن یا پایین آوردن سقف طبقهبندی:
bash
triggerfish config add-channel telegram
# وقتی پرسیده شد، بازنویسی پیکربندی موجود را انتخاب کنیدیا مستقیماً triggerfish.yaml را ویرایش کنید:
yaml
channels:
telegram:
# botToken در کلیدزنجیر سیستمعامل ذخیره شده
ownerId: 8019881968
classification: CONFIDENTIALسطوح معتبر: PUBLIC، INTERNAL، CONFIDENTIAL، RESTRICTED.
پس از تغییر daemon را راهاندازی مجدد کنید: triggerfish stop && triggerfish start
