Tạo lệnh gạch chéo tùy chỉnh của riêng bạn trong Slack
Slack là một công cụ cho phép các nhóm giao tiếp và cộng tác. Một trong những tính năng chính của nó là sử dụng các lệnh gạch chéo. Các lệnh này kích hoạt các hành động hoặc tích hợp cụ thể trong nền tảng.
Mặc dù Slack cung cấp cho bạn một số lệnh gạch chéo tích hợp, nhưng bạn có thể tạo các lệnh tùy chỉnh bằng API của Slack. Sau đó, bạn có thể định cấu hình lệnh tùy chỉnh để thực hiện một tác vụ nhất định khi người dùng kích hoạt nó.
Mục Lục
Tại sao phải tạo Lệnh gạch chéo tùy chỉnh trong Slack?
Các lệnh gạch chéo tích hợp sẵn của Slack có thể không đáp ứng các nhu cầu cụ thể của nhóm hoặc tổ chức của bạn. Bằng cách tạo các lệnh gạch chéo tùy chỉnh, bạn có thể tạo trải nghiệm cá nhân hóa hơn cho nhóm của mình. Điều này lần lượt làm tăng sự tham gia của nhóm.
Thiết lập ứng dụng Slack
Để làm theo, bạn sẽ cảm thấy thoải mái với cách sử dụng cơ bản của Slack. Đăng nhập vào tài khoản Slack của bạn trong trình duyệt và tạo không gian làm việc mới. Bạn sẽ sử dụng không gian làm việc này để kiểm tra các ứng dụng của mình trước khi sử dụng chúng trong không gian làm việc của nhóm.
Mở một tab khác và điều hướng đến trang web Slack API.
bấm vào Tạo một ứng dụng cái nút. Trên trang tiếp theo xuất hiện, chọn tùy chọn để tạo ứng dụng từ đầu.
Đặt tên cho ứng dụng và chọn không gian làm việc mà ứng dụng sẽ hoạt động.
Nhấn vào Tạo ứng dụng cái nút. Thao tác này sẽ chuyển hướng bạn đến trang chứa thông tin cơ bản về ứng dụng của bạn.
Trong phần tính năng, điều hướng đến OAuth & Quyền tính năng, sau đó cuộn xuống Phạm vi mã thông báo bot. thêm một trò chuyện: viết phạm vi cho ứng dụng của bạn. Phạm vi này sẽ cho phép ứng dụng của bạn gửi tin nhắn đến không gian làm việc.
Cuộn lên đến Mã thông báo OAuth cho không gian làm việc của bạn và nhấp vào phần Cài đặt vào Không gian làm việc cái nút.
Trên trang tiếp theo xuất hiện, nhấp vào Cho phép cái nút. Điều này sẽ cài đặt ứng dụng trong không gian làm việc của bạn.
Tạo lệnh dấu gạch chéo tùy chỉnh bằng API Slack
Sau khi thiết lập ứng dụng Slack, bạn cần tạo một lệnh tùy chỉnh cho tác vụ bạn muốn hoàn thành. Ví dụ: lệnh gạch chéo trả về một trò đùa cho người dùng. Điều hướng đến Lệnh gạch chéo tính năng. bấm vào Tạo lệnh mới cái nút.
Điền vào Yêu cầu, URL yêu cầuVà Mô tả ngắn của lệnh bạn muốn tạo. URL yêu cầu là điểm cuối mà Slack gửi yêu cầu POST đến khi người dùng kích hoạt lệnh. Sử dụng URL máy chủ cục bộ làm trình giữ chỗ; bạn sẽ chuyển đổi URL này sau.
Bấm vào Cứu. Khi bạn lưu, Slack sẽ tự động thêm phạm vi lệnh cho ứng dụng của bạn. Phạm vi này cho phép ứng dụng của bạn thêm lối tắt và lệnh gạch chéo mà mọi người trong không gian làm việc của bạn có thể sử dụng. Thay đổi phạm vi sẽ yêu cầu bạn cài đặt lại ứng dụng. bấm vào cài đặt lại ứng dụng của bạn cái nút.
Trên trang xuất hiện tiếp theo, hãy nhấp vào cho phép cài đặt lại ứng dụng trên không gian làm việc của bạn.
Định cấu hình hành vi của lệnh Slash
Khởi chạy bất kỳ IDE Python nào. Tạo một môi trường ảo mới. Tạo một tệp Python mới và một tệp .env mới. Trên thiết bị đầu cuối, hãy chạy lệnh sau để cài đặt các thư viện cần thiết.
pip install python-dotenv requests Flask slack-bolt
Các python-dotenv thư viện sẽ cho phép bạn tải các biến môi trường trong tệp .env. Các yêu cầu thư viện cho phép bạn thực hiện các yêu cầu HTTP và Bình giữ nhiệt xử lý các yêu cầu HTTP đến và trả về phản hồi. Slack-bolt xử lý các yêu cầu Slack đến.
Mở tệp .env và tạo hai biến môi trường. Hãy gọi tên của chúng BOT_TOKEN Và SIGNING_SECRET tương ứng. Điều hướng đến trang web API Slack. Dưới ứng dụng của bạn Thông tin cơ bản sao chép bí mật ký và sử dụng nó để khởi tạo biến BOT_TOKEN. Điều hướng đến tính năng OAuth & Quyền và sao chép Mã thông báo OAuth của Người dùng Bot. Sử dụng nó để khởi tạo biến SIGNING_SECRET.
Mã thông báo bot là mã định danh duy nhất xác thực ứng dụng của bạn bằng API của Slack khi thực hiện lệnh gọi API. Bí mật ký xác minh rằng các yêu cầu đến ứng dụng của bạn đến từ Slack.
Nhập các thư viện và mô-đun cần thiết.
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
Tạo một phiên bản mới của ứng dụng Flask.
app = Flask(__name__)
Tải các biến môi trường từ tệp .env bằng cách sử dụng load_dotenv() chức năng.
env_path = Path('.') / '.env'
load_dotenv(dotenv_path=env_path)
Tạo phiên bản mới của ứng dụng Slack bằng cách sử dụng Ứng dụng class từ thư viện slack_bolt.
slack_app = App(
token=os.environ['BOT_TOKEN'],
signing_secret=os.environ['SIGNING_SECRET']
)
Tạo một chức năng xử lý tuyến đường xử lý các yêu cầu gửi đến /slack/lệnh điểm cuối. Khi điểm cuối nhận được một BƯU KIỆN yêu cầu, nó sẽ phân tích dữ liệu nội dung yêu cầu. Sau đó, nó sẽ kiểm tra xem lệnh có /câu nói đùa. Nếu vậy, nó gọi get_joke() và trả về phản hồi JSON cho Slack cùng với kết quả của lệnh.
@app.route("/slack/command", methods=["POST"])
def command():
data = request.form
if data["command"] == "/joke":
message = get_joke()
else:
message = f"Invalid command: {data['command']}"
return jsonify({"text": message})
Tạo một hàm gửi yêu cầu GET tới icanazdadjoke API để truy xuất một trò đùa ngẫu nhiên ở định dạng JSON. Sau đó, nó trả về trò đùa dưới dạng một chuỗi.
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
Tạo một thể hiện mới của một SlackRequestHandler đối tượng sẽ xử lý các yêu cầu đến từ Slack.
handler = SlackRequestHandler(slack_app)
Kiểm tra xem tập lệnh có đang được chạy trực tiếp hay không và nếu có, hãy khởi động ứng dụng Flask trên cổng 5000.
if __name__ == "__main__":
app.run(port=5000, debug=True)
Chạy chương trình để khởi động máy chủ chạy trên localhost.
Để chương trình giao tiếp với Slack, bạn cần có một URL mà chương trình có thể truy cập qua internet. Tải xuống và chạy ngrok. Phần mềm ngrok cho phép bạn tạo một URL công khai an toàn dẫn lưu lượng truy cập đến một máy chủ web đang chạy trên máy tính của bạn.
Chạy lệnh sau để lấy URL công khai:
ngrok http 5000
Hình ảnh bên dưới hiển thị URL công khai trên ngrok, được đánh dấu bằng màu trắng.
Sao chép URL và điều hướng đến trang web API Slack. bấm vào Lệnh gạch chéo tính năng. Chỉnh sửa lệnh /joke và thay thế trình giữ chỗ URL yêu cầu bằng URL công khai của bạn. Thêm /slack/events vào cuối URL để trỏ đến điểm cuối của bạn.
Chuyển đến không gian làm việc của bạn, sau đó nhập và gửi lệnh /joke. Bạn sẽ thấy một câu chuyện cười đáp lại:
Làm quen với các tính năng khác của Slack
Slack có rất nhiều tính năng để cung cấp ngoài các lệnh Slash. Tự làm quen với các tính năng này sẽ cho phép bạn hiểu cách chúng hoạt động.
Sau đó, bạn có thể tìm cách tùy chỉnh chúng theo yêu cầu của không gian làm việc của mình. Điều này sẽ làm tăng năng suất của nhóm của bạn.