آموزش گام به گام ارسال پیام به اسلک از طریق بش اسکریپت

رسانه کلیک - در این مطلب توضیح می دهیم که چگونه می توان از طریق بش اسکریپت و نوشتن کدهای ساده، پیام های خود را به اسلک منتقل کنید.

آموزش گام به گام ارسال پیام به اسلک از طریق بش اسکریپت

با کمک چند وب هوک می توان اسلک را به یک مرکز اطلاع رسانی برای خط فرمان خود تبدیل کنید. بدین ترتیب می توانید کارهای زیادی را به انجام برسانید، از فیدهای پیام ساده گرفته تا یکپارچه سازی دلخواه اسلک برای برنامه ها.

این یکپارچه سازی به طور خاص برای رویدادهای مبتنی بر اعلان به کار می آید و همانند فیدهای RRS عمل می کند، مثل زمانی که یک بروزرسانی صورت گرفته و یا یک محتوای جدید منتشر می شود. همچنین می توان برای برنامه هایی که با API یکسان کار می کنند، یکپارچه سازی های دلخواهی را به وجود آورد.

استفاده از بات Slack به وسیله وب هوک

اسلک دارای API است که به شما اجازه می دهد تا تعاملات بسیاری را با فضای کاری خودکارسازی کنید. شما می توانید از هر جایی که قادر به ساخت درخواست های HTTP نظیر GET و POST هستید، به این API دسترسی پیدا کنید. این API شامل اسکریپت های بش بوده که از قابلیت curl استفاده می کند. قابلیت crul تقریبا به طور پیشفرض روی تمام دیستروس های یونیکس نصب بوده و برای دانلود روی ویندوز نیز قابل دسترس است.

بخشی از این API شامل وب هوک ها می شود. وب هوک راهی برای ارسال پیام بین دو اپلیکیشن است. از طریق URL وب هوک می توان یک درخواست Post را به همراه داده هایی در قالب شیء JSON به وجود آورد. به عنوان مثال با عبارت زیر می توان یک پیام سریع را ارسال کرد:

اسکریپت بش این تکه کوچک از داده ها را به سمت Slack ارسال می کند. اسلک نیز این داده ها را خوانده و عبارت "Hello, World!" را به کانال تعیین شده در هنگام تنظیم وب هوک ارسال می کند.

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

با این حال شما می توانید به شیوه ای مشابه، پیام های خودکار را از سوی حساب Slack خود ارسال کنید. در این صورت باید از API به نام chat.postMessage استفاده کرده و آرگومان as_user را با مقدار True تنظیم کنید. این کار به یک توکن OAuth 2.0 با دامنه جواز chat:write:user احتیاج دارد، که البته پیش از استفاده از API، خودتان باید آن را به وجود آورید. با این حال توصیه می شود که از راه ساده تر، یعنی وب هوک ها استفاده کنید، چون مدیریت آن ها بسیار آسان تر است.

تنظیم محیط اسلک برای پذیرش وب هوک ها

به پورتال API Slack رفته و یک Slack app جدید را به وجود آورید. یک نام کاربری را برای این اپلیکیشن انتخاب کرده و فضای کاری آن را مشخص کنید. سپس دکمه Create App را فشار دهید.

بدین ترتیب شما به یک صفحه خانگی منتقل می شوید. در این صفحه می توانید ویژگی های مورد نظر را برای بات خود اضافه کنید. قابلیت های جالبی در این صفحه وجود دارند، مثل custom/commands و پیام های تعاملی. با این حال فعلا به گزینه Incoming Webhooks احتیاج دارید. پس به روی این گزینه کلیک کرده و آن را فعال کنید.

باید یک وب هوک جدید را برای اپلیکیشن خود به ثبت برسانید تا بتوانید پیام ها را به سوی آن ارسال کنید. پس روی گزینه Add New Webhook to workspace در پایین این صفحه کلیک کنید.

در جریان این کار از شما خواسته می شود تا اعتبار این اپلیکیشن را تایید کرده و کانال مورد نظر برای پیام ها را انتخاب کنید. این کانال می تواند عمومی بوده و یا به صورت پیام های مستقیم به سایر کاربران باشد. در این صورت بات در DMs ظاهر خواهد شد و اعلان ها را دریافت می کنید.

از طرف دیگر، می توان وب هوک های متعددی را برای کانال های مختلف به ثبت رساند. اما هر هوک دارای URL متفاوتی نسبت به دیگری خواهد بود.

لینک URL وب هوک خود را کپی کرده و ترمینال خود را باز کنید. لینک کپی شده را در قسمت زیر جایگذاری کنید:

توجه داشته باشید که URL تهیه شده به وسیله اسلک باید جایگزین عبارت YOUR_WEBHOOK_URL شود. سپس دکمه Enter را فشار دهید. در این لحظه باید اعلان Hello, World! را دریافت کرده و یک پیام جدید را در کانال انتخابی خود مشاهده کنید.

شما می توانید در یک اسکریپت بش از این فرمان curl استفاده کنید. همچنین می توانید شیء JSON را برای ارسال داده های دلخواه، از جمله متغیرهای بش پیکربندی کنید.

استفاده از پیوست ها و پیام های فرمت شده

به غیر از ارسال متن های ساده، API پیام می تواند کارهای دیگری را نیز انجام دهد. اگر می خواهید پیام های شما دارای سبک و استایل بیشتری باشند، باید پارامترهای بیشتری را به شیء JSON اضافه کنید. از markdown نیز می توان بهره گرفت. نکته قابل توجه این است که برای پیوند دادن کانال ها و @ کردن کاربران، بجای تعیین اسامی متنی ساده، باید ID کانال و همچنین ID کاربران را مشخص کنید.

برای انجام کارهای دیگر می توان از block kit Builder محیط اسلک استفاده کرد. سازنده کیت بلاک در واقع یک ویراستار WYSIWG برای پیام های اسلک است که به شما اجازه می دهد تا محتویات غنی و تعاملی را به وجود آورید. این ویراستار همچنین به ساخت فایل های JSON رسیدگی می کند. عناصری نظیر دکمه ها و منوها می توانند به نحوی پیکربندی شوند تا درخواست های POST را به سوی یک URL از پیش تعیین شده، ارسال کنند. بدین ترتیب کاربران شما می توانند با اپلیکیشنی که پیام را برای آن ها ارسال کرده، به گفتگو بپردازند.

البته باید گفت که سازنده کیت بلاک به طور کلی ضرورت ندارد، چون متدهای قدیمی هنوز منسوخ نشده اند. اگر می خواهید از ویژگی هایی مثل Attachments (پیوست ها) استفاده کنید، می توانید از Message Builder قدیمی برای ساخت و مشاهده JSON بهره بگیرید.

ارسال نظر