خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

دستور اسلش سفارشی خود را در Slack ایجاد کنید

Slack یک ابزار راحت و محبوب است که می توانید با دستورات خود، متناسب با سازمان خود، آن را ارتقا دهید.

Slack ابزاری است که به تیم ها امکان ارتباط و همکاری را می دهد. یکی از ویژگی های کلیدی آن استفاده از دستورات اسلش است. این دستورات اقدامات یا ادغام های خاصی را در پلتفرم ایجاد می کنند.

در حالی که Slack چندین دستور اسلش داخلی را در اختیار شما قرار می دهد، می توانید با استفاده از API Slack دستورات سفارشی ایجاد کنید. سپس می‌توانید فرمان سفارشی را برای انجام یک کار خاص زمانی که کاربر آن را راه‌اندازی می‌کند، پیکربندی کنید.

چرا یک دستور اسلش سفارشی در Slack ایجاد کنیم؟

دستورات اسلک داخلی ممکن است نیازهای خاص تیم یا سازمان شما را برآورده نکند. با ایجاد دستورات اسلش سفارشی، می توانید تجربه شخصی تری را برای تیم خود ایجاد کنید. این به نوبه خود تعامل تیم را افزایش می دهد.

راه اندازی یک برنامه Slack

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

برگه دیگری را باز کنید و به وب سایت Slack API بروید.

صفحه اصلی Slack API

روی دکمه Create an app کلیک کنید. در صفحه بعدی که ظاهر می شود، گزینه ایجاد یک برنامه از ابتدا را انتخاب کنید.

گزینه ایجاد یک برنامه در وب سایت Slack API

نام برنامه را بگذارید و فضای کاری را که برنامه در آن کار می کند انتخاب کنید.

صفحه نامگذاری برنامه Slack در وب سایت Slack API

روی دکمه Create App کلیک کنید. این شما را به صفحه ای هدایت می کند که حاوی اطلاعات اولیه در مورد برنامه شما است.

اطلاعات اولیه برنامه Slack در وب سایت Slack API

در بخش ویژگی‌ها، به ویژگی OAuth & Permissions بروید، سپس به سمت پایین به Bot Token Scopes بروید. یک چت اضافه کنید: محدوده بنویسید برای برنامه خود. این محدوده به برنامه شما اجازه می دهد تا پیام هایی را به فضای کاری ارسال کند.

دامنه توکن ربات در وب سایت Slack API

به قسمت OAuth Tokens for Your Workspace بروید و روی دکمه Install to Workspace کلیک کنید.

مطلب مرتبط:   Git Bash چیست و چگونه از آن استفاده می کنید؟

ویژگی OAuth & Permissions در وب سایت Slack API

در صفحه بعدی که ظاهر می شود، روی دکمه Allow کلیک کنید. این برنامه را در فضای کاری شما نصب می کند.

ایجاد یک دستور اسلش سفارشی با استفاده از Slack API

پس از راه اندازی برنامه Slack، باید یک دستور سفارشی برای کاری که می خواهید انجام دهید ایجاد کنید. به عنوان مثال، یک دستور اسلش که یک جوک را به کاربر برمی گرداند. به ویژگی Slash Commands بروید. روی دکمه Create New Command کلیک کنید.

ویژگی دستور Slash در وب سایت Slack API

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

نامگذاری دستور اسلش در وب سایت Slack API

روی Save کلیک کنید. وقتی ذخیره می‌کنید، Slack به طور خودکار دامنه دستوراتی را برای برنامه شما اضافه می‌کند. این محدوده به برنامه شما اجازه می دهد تا میانبرها و دستورات اسلش را اضافه کند که افراد در فضای کاری شما می توانند از آنها استفاده کنند. برای تغییر دامنه ها باید برنامه را دوباره نصب کنید. روی دکمه نصب مجدد برنامه خود کلیک کنید.

Slack API در حال نصب مجدد یک برنامه

در صفحه ای که بعد ظاهر می شود، روی اجازه نصب مجدد برنامه در فضای کاری خود کلیک کنید.

پیکربندی رفتار Slash Command

هر IDE پایتون را راه اندازی کنید. یک محیط مجازی جدید ایجاد کنید. یک فایل پایتون جدید و یک فایل env جدید ایجاد کنید. در ترمینال دستور زیر را برای نصب کتابخانه های مورد نیاز اجرا کنید.

pip install python-dotenv requests Flask slack-bolt

کتابخانه python-dotenv به شما این امکان را می دهد که متغیرهای محیطی را در فایل .env بارگذاری کنید. کتابخانه درخواست ها به شما امکان می دهد درخواست های HTTP را انجام دهید و Flask درخواست های HTTP ورودی را مدیریت می کند و پاسخ ها را برمی گرداند. Slack-bolt درخواست‌های Slack دریافتی را مدیریت می‌کند.

مطلب مرتبط:   چگونه با استفاده از React یک کلون خبری هکر بسازیم

فایل .env را باز کنید و دو متغیر محیطی ایجاد کنید. آنها را به ترتیب BOT_TOKEN و SIGNING_SECRET نامگذاری کنید. به وب سایت Slack API بروید. در زیر اطلاعات پایه برنامه خود، رمز امضا را کپی کنید و از آن برای مقداردهی اولیه متغیر BOT_TOKEN استفاده کنید. به ویژگی OAuth & Permissions بروید و Bot User OAuth Token را کپی کنید. از آن برای مقداردهی اولیه متغیر SIGNING_SECRET استفاده کنید.

یک فایل env حاوی متغیرهای محیطی

توکن ربات یک شناسه منحصربه‌فرد است که هنگام برقراری تماس‌های API، برنامه شما را با API Slack تأیید می‌کند. رمز امضا تأیید می‌کند که درخواست‌های ورودی به برنامه شما از Slack می‌آیند.

کد منبع کامل در یک مخزن GitHub موجود است.

کتابخانه ها و ماژول های مورد نیاز را وارد کنید.

import os
from pathlib import Path
from dotenv import load_dotenv
import requests
from flask import Flask, request, jsonify
from slack_bolt import App
from slack_bolt.adapter.flask import SlackRequestHandler

یک نمونه جدید از یک برنامه Flask ایجاد کنید.

app = Flask(__name__)

با استفاده از تابع load_dotenv() متغیرهای محیط را از فایل .env بارگیری کنید.

env_path = Path('.') / '.env'
load_dotenv(dotenv_path=env_path)

یک نمونه جدید از یک برنامه Slack با استفاده از کلاس App از کتابخانه slack_bolt ایجاد کنید.

slack_app = App(
    token=os.environ['BOT_TOKEN'],
    signing_secret=os.environ['SIGNING_SECRET']
)

یک تابع کنترل مسیر ایجاد کنید که درخواست‌های ورودی به نقطه پایانی /slack/command را مدیریت می‌کند. هنگامی که نقطه پایانی یک درخواست POST دریافت می کند، داده های بدن درخواست را تجزیه می کند. سپس بررسی می کند که آیا دستور /joke است یا خیر. اگر چنین است، تابع get_joke() را فراخوانی می کند و با نتیجه دستور، پاسخ JSON را به Slack برمی گرداند.

@app.route("/slack/command", methods=["POST"])
def command():
    # Parse request body data
    data = request.form

    # Call the appropriate function based on the slash command
    if data["command"] == "/joke":
        message = get_joke()
    else:
        message = f"Invalid command: {data['command']}"

    # Return response to Slack
    return jsonify({"text": message})

تابعی ایجاد کنید که یک درخواست GET به icanhazdadjoke API ارسال کند تا یک جوک تصادفی در قالب JSON بازیابی شود. سپس جوک را به عنوان یک رشته برمی گرداند.

def get_joke():
    url = "https://icanhazdadjoke.com/"
    headers = {"Accept": "application/json"}
    response = requests.get(url, headers=headers, timeout=5)
    joke = response.json()["joke"]
    return joke

یک نمونه جدید از یک شی SlackRequestHandler ایجاد کنید که درخواست های دریافتی از Slack را مدیریت می کند.

handler = SlackRequestHandler(slack_app)

بررسی کنید که آیا اسکریپت مستقیماً اجرا می شود یا خیر و اگر اجرا می شود، برنامه Flask را در پورت 5000 راه اندازی کنید.

if __name__ == "__main__":
    # Start the Flask app on port 5000
    app.run(port=5000, debug=True)

برنامه را اجرا کنید تا سرور روی لوکال هاست اجرا شود.

مطلب مرتبط:   نحوه ایجاد صفحات خطای سفارشی Spring Boot با Thymeleaf

برای اینکه برنامه با Slack ارتباط برقرار کند، به URL نیاز دارید که بتواند از طریق اینترنت به آن دسترسی داشته باشد. ngrok را دانلود و اجرا کنید. نرم افزار ngrok به شما امکان می دهد یک URL عمومی امن ایجاد کنید که ترافیک را به یک وب سرور در حال اجرا بر روی رایانه شما تونل می کند.

برای دریافت URL عمومی دستور زیر را اجرا کنید:

ngrok http 5000

تصویر زیر نشانی اینترنتی عمومی در ngrok را نشان می دهد که با رنگ سفید برجسته شده است.

ngrok دویدن

URL را کپی کنید و به وب سایت Slack API بروید. بر روی ویژگی Slash Commands کلیک کنید. دستور /joke را ویرایش کنید و مکان‌نمای URL درخواست را با URL عمومی خود جایگزین کنید. برای اشاره به نقطه پایانی خود، /slack/events را در انتهای URL اضافه کنید.

ویرایش یک دستور اسلک اسلش

به فضای کاری خود بروید، سپس دستور /joke را تایپ کرده و ارسال کنید. در پاسخ باید یک جوک ببینید:

خروجی یک دستور اسلک اسلش

با سایر ویژگی های Slack آشنا شوید

Slack دارای ویژگی های زیادی فراتر از دستورات Slash است. آشنایی با این ویژگی ها به شما امکان می دهد تا نحوه کار آنها را درک کنید.

سپس می توانید به دنبال راه هایی برای سفارشی کردن آنها با نیازهای فضای کاری خود باشید. این کار باعث افزایش بهره وری تیم شما می شود.