رفتن به محتوا

Slack را به فضای کاری‌تان متصل کنید

در پایان این آموزش، این‌ها را در اختیار خواهید داشت:

  • یک برنامهٔ Slack ساخته‌شده برای فضای کاری‌تان، با مجوزها و رویدادهای درست که از پیش تنظیم شده‌اند
  • یک اتصال زنده میان Slack و Control Center
  • حساب Slack خودتان که به کاربر Control Center شما پیوند خورده است
  • عاملی که در یک رشتهٔ Slack به شما پاسخ می‌دهد و تیکتی که با یک فرمان اسلش ثبت شده است

پیش‌نیازها:

  • اولین فضای کاری شما و اولین عامل را اعزام کنید کامل شده باشند — فضای کاری‌ای که عامل ندارد می‌تواند پیام Slack بگیرد اما کسی را ندارد که به آن پاسخ دهد
  • عامل CEO فضای کاری در تنظیمات → فضای کاری → عامل‌ها یک آداپتور و یک مدل تنظیم‌شده داشته باشد. پل CEO را بیدار می‌کند، نه عاملی را که در آموزش پیشین پیکربندی کردید؛ و عاملی که آداپتور ندارد روی حلقهٔ داخلی با مدل پیش‌فرض Anthropic اجرا می‌شود.
  • نقش owner یا admin در فضای کاری Control Center (اتصال یک برنامهٔ گفتگو به نمایندگی از کل فضای کاری سخن می‌گوید)
  • اجازهٔ ساخت و نصب برنامه‌ها در فضای کاری Slack شما

هیچ‌کدام از این‌ها به نشانی عمومی، تونل یا پورت ورودی نیازی ندارد. Control Center روی Socket Mode رو به بیرون به Slack زنگ می‌زند، پس این کار از یک لپ‌تاپ پشت NAT هم شدنی است.

گام 1: یک توکن پیکربندی برنامهٔ Slack بگیرید

بخش با عنوان “گام 1: یک توکن پیکربندی برنامهٔ Slack بگیرید”

این تنها رمزی است که باید دستی بیاورید. به Control Center اجازه می‌دهد برنامه را برایتان بسازد و بعداً ویرایشش کند.

  1. api.slack.com/apps را باز کنید
  2. تا بخش توکن‌های پیکربندی برنامه در پایین صفحه اسکرول کنید
  3. یک جفت توکن برای فضای کاری Slack خود تولید کنید
  4. توکن refresh را کپی کنید — با xoxe- شروع می‌شود

گام 2: بگذارید Control Center برنامه را بسازد

بخش با عنوان “گام 2: بگذارید Control Center برنامه را بسازد”
  1. در Control Center به تنظیمات → فضای کاری → عمومی بروید و کارت پل‌های گفتگو را پیدا کنید
  2. روی بلوک Slack، برنامه را برایم بساز را کلیک کنید
  3. توکن پیکربندی برنامه را جای‌گذاری کنید
  4. بازبینی کنید ربات چه شکلی خواهد بود:
    • نام برنامه: نامی که Slack برنامه را با آن فهرست می‌کند، مثلاً Control Center · Acme
    • نام ربات: چیزی که مردم بعد از @ تایپ می‌کنند، مثلاً control-center
    • شرح کوتاه و آنچه ربات می‌گوید می‌تواند انجام دهد
    • فرمان اسلش: به‌طور پیش‌فرض cc، پس فرمان /cc است
    • پیام‌های مستقیم: روشن بگذارید تا اعضا بتوانند به ربات DM بدهند
  5. ایجاد برنامه را کلیک کنید

Control Center کل تعریف برنامه را می‌سازد — Socket Mode روشن، محدوده‌های دسترسی ربات و اشتراک‌های رویدادی که لازم دارد، فرمان اسلش، زبانهٔ Messages — و آن را در Slack ایجاد می‌کند.

گام 3: دو گامی را تمام کنید که فقط Slack می‌تواند انجام دهد

بخش با عنوان “گام 3: دو گامی را تمام کنید که فقط Slack می‌تواند انجام دهد”

Slack هیچ API‌ای برای تولید توکن سطح برنامه یا نصب برنامه ندارد، پس پنجرهٔ گفتگو هر دو را به‌شکل پیوند به شما می‌دهد:

  1. تولید توکن سطح برنامه — Basic Information → App-Level Tokens را باز می‌کند. توکنی با محدودهٔ connections:write بسازید و آن را کپی کنید. با xapp- شروع می‌شود
  2. نصب برنامه — Install App را باز می‌کند. آن را در فضای کاری‌تان نصب کنید، سپس Bot User OAuth Token را کپی کنید. با xoxb- شروع می‌شود

هر دو مقدار را برای گام بعد نگه دارید.

  1. در همان پنجرهٔ گفتگو، جای‌گذاری اعتبارنامه‌ها را کلیک کنید
  2. توکن ربات (xoxb-…) و توکن سطح برنامه (xapp-…) را وارد کنید
  3. توکن پیکربندی برنامه را خالی بگذارید — توکن گام 1 از قبل ذخیره شده است (Slack آن را چرخاند و Control Center مقدار تازه را ذخیره کرد)
  4. اتصال را کلیک کنید

Control Center پیش از ذخیره‌کردن هر چیزی، توکن ربات را با Slack تأیید می‌کند، سپس socket را باز می‌کند. آن ردیف اکنون نام ربات و نام فضای کاری Slack شما را با برچسب زنده نشان می‌دهد.

گام 5: حساب Slack خودتان را پیوند بزنید

بخش با عنوان “گام 5: حساب Slack خودتان را پیوند بزنید”

اتصال ربات را در دسترس می‌گذارد؛ پیوند زدن شما را شناسایی‌کردنی می‌کند. تا وقتی هویت Slack شما پیوند نشده باشد، ربات روی پیام‌های شما کاری انجام نمی‌دهد — هرگز پیامی را به کسی که برنامه را نصب کرده نسبت نمی‌دهد.

پیوند زدن شخصی است، پس در صفحه‌ای جدا از اتصال سراسری فضای کاری قرار دارد.

  1. به تنظیمات → فضای کاری → نمایه و هویت بروید و کارت حساب‌های گفتگوی پیوندشده را پیدا کنید
  2. پیوند حساب Slack من را کلیک کنید
  3. فرمانی که نشان می‌دهد را کپی کنید، مثلاً /cc link K7M2QP
  4. در Slack، آن فرمان را در یک DM به ربات بفرستید
  5. ربات پاسخ می‌دهد «Linked — you are …»

این کد یک‌بارمصرف است و در 15 دقیقه منقضی می‌شود. اگر ایمیل Slack شما با کاربری از Control Center که از قبل عضو این فضای کاری است یکی باشد، پل نخستین باری که با آن حرف بزنید خودکار شما را پیوند می‌زند و می‌توانید از این گام بگذرید.

اگر پیش از انجام این کار ربات را منشن کنید، رد می‌کند و می‌گوید چرا. این سه رد از هم متفاوت‌اند، پس بخوانید کدام یکی نصیبتان شده است:

  • فرستندهٔ پیوندنشده: ربات به شما می‌گوید چطور پیوند بزنید. به این گام برگردید.
  • پیوندشده، اما عضو این فضای کاری نیست: از یک ادمین بخواهید دعوتتان کند.
  • عضوی با نقش فقط‌خواندنی (viewer یا guest): ربات به نمایندگی از شما کاری را شروع نمی‌کند.

گام 6: یک عامل را روی کاری بگذارید

بخش با عنوان “گام 6: یک عامل را روی کاری بگذارید”
  1. در Slack، ربات را به یک کانال دعوت کنید: /invite @control-center

  2. با یک درخواست واقعی منشنش کنید:

    @control-center PRهای باز مخزن api را خلاصه کن

پل:

  1. برای آن رشتهٔ Slack یک فضای Control Center می‌سازد، به نام کانال Slack و درخواست شما
  2. عامل درِ ورودی فضای کاری را بیدار می‌کند (عامل CEO وقتی وجود دارد، وگرنه نخستین عامل)
  3. پاسخ عامل را همان‌طور که نوشته می‌شود به رشتهٔ Slack استریم می‌کند

در همان رشتهٔ Slack پاسخ دهید تا کار ادامه پیدا کند — منشن دیگری لازم نیست، چون رشتهٔ Slack اکنون پل شده است. یا به‌جای کانال به ربات DM بدهید؛ هر گفتگوی DM فضای Control Center خودش را می‌چرخاند، با یک عنوان و یک خط وضعیت «is thinking…» تا وقتی عامل کار می‌کند.

استریم به API استریم Slack نیاز دارد که هر طرحی آن را ندارد. اگر برنامهٔ شما رد شود، پل برای تمام عمر آن اتصال از تلاش دست می‌کشد و در عوض هر پاسخ را به‌صورت یک پیام تکی می‌فرستد و کارت پل‌های گفتگو می‌خواند «استریم زنده برای این برنامهٔ Slack خاموش است — پاسخ‌ها به‌صورت یک پیام می‌آیند.» بقیهٔ چیزها یکسان کار می‌کنند.

گام 7: بدون ترک Slack یک تیکت ثبت کنید

بخش با عنوان “گام 7: بدون ترک Slack یک تیکت ثبت کنید”
/cc ticket Fix the flaky login test | It fails on CI about once a day.

ربات با کلید تیکتی که ثبت کرده پاسخ می‌دهد. تیکت یک تیکت محلی معمولی Control Center است که شما گزارشش کرده‌اید و آمادهٔ واگذاری به یک عامل است. /cc help همهٔ کارهایی را که این فرمان می‌تواند انجام دهد فهرست می‌کند.

از Control Center یک برنامهٔ Slack ساختید، آن را روی یک socket رو به بیرون متصل کردید، هویت Slack خود را به کاربر Control Center خود پیوند زدید و عاملی را از یک رشتهٔ Slack به کار گرفتید. هر چیزی که در Slack رخ داد در Control Center هم هست: رشتهٔ Slack یک فضا است، پاسخ یک رونوشت است، تیکت یک تیکت است.

بعدی: راه‌اندازی یکپارچه‌سازی Slack مسیر دستی، چرخاندن توکن‌ها و عیب‌یابی را پوشش می‌دهد. برای مدل زیرین، پل‌های گفتگو را بخوانید.