Gửi tin nhắn tới slack như thế nào ?

Gửi tin nhắn tới slack như thế nào ?

Slack đang dần phổ biến, đi kèm với nó là rất nhiều dịch vụ và API cho các dev tích hợp vào ứng dụng của họ. Trong bài viết này, chúng ta cùng tìm hiểu các các bước đơn giản nhất để gửi tin nhắn đến slack cùng với ngôn ngữ PHP.

1. Đăng nhập với slack

Truy cập tại đây
Đầu tiên là chuẩn bị một channel để gửi tin nhắn, thao tác thực hiện theo các bước sau:
Tạo mới app của bạn, ở đây nhé
Image-2-1
Sau đó
Image-4
Tạo mới Workspace
Image-6
Vậy là đã tạo xong một workspace , channel để gửi tin nhắn rồi.

2. Các quyền cần thiết và cách lấy Token

Mỗi ứng dụng Slack đều không cho phép được làm gì cả. Cho nên, chúng ta cần phải cấp cho ứng dụng của mình phạm vi chính xác được yêu cầu để có thể gửi được tin nhắn.
Có thể tham khảo tại đây
Ngoài ra, có một số phạm vi có sẵn, có thể tham khảo tại đây:
Đối với mục đích hướng dẫn gửi tin nhắn này, chúng ta sẽ bỏ qua điều đó và chỉ tập trung vào các quyền cần thiết để gửi tin nhắn, như ở dưới đây

  • channels:read : cho phép truy xuất tất cả các channel trong workspace công khai để có thể chọn một channel gửi tin nhắn
  • chat:write : Đăng tin nhắn trong các kênh và cuộc hội thoại đã được phê duyệt

Các thao tác cấp quyền và lấy Token

  • Bước 1: tạo app Chọn Your apps -> create your first app
    app
    Chọn Create an App -> From scratch
    create_app
    from
    Sau đó điền đầy đủ lần lượt tên app và chọn workspace -> Chọn Create App để hoàn tất tạo App
    done

  • Bước 2: Thao tác chọn quyền, Ở navigation menu -> chọn OAuth & Permissions feature
    permission-1
    Scroll xuống, chọn Scopes.

    • Đối với Slack Bot token cần cấp quyền sau : chat:write
    • Đối với user cần cấp quyền sau: chat:write:user , chat:write , chat:write:bot. Hoặc chọn admin, chat:write
      scope
      Sau khi đã cập nhật quyền xong, quay lại đầu trang trên thanh menu -> chọn Install App -> chọn Install App to Workspace
      install
      Sau đó chọn Allow để thực hiện lấy token , và đây là kết quả
      token

3. Thực hiện gửi tin nhắn

Sử dụng lệnh gọi API chat.postMessage

<?php

namespace App\Http\Controllers;

use GuzzleHttp\Client;
use Illuminate\Http\Request;

class SlackController extends Controller
{
   protected $client;

   public function __construct()
   {
       $this->client = new Client([
           'base_uri' => 'https://slack.com/api/',
           'headers' => [
               'Content-type' => 'application/json','application/x-www-form-urlencoded'
               'Authorization' => 'Bearer your_slack_token'
           ]
       ]);
   }

   public function sendMessage(Request $request)
   {
      $this->client->post("chat.postMessage", [
           'form_params' => [
               'channel' =>  $request->input('channelId'),
               'text'=>  $request->input('message'),
           ],
       ]);
       
      return redirect()->back()->with('message', 'thanh cong');
   }
}
  • Và đây là kết quả: kiểm tra tin nhắn được gửi trên https://app.slack.com/
    abc
  • Tài liệu tham khảo của mình:
    https://api.slack.com/
    https://slack.com/
    Lời kết
    Trên đây là toàn bộ Demo hướng dẫn sử dụng Slack API để gửi tin nhắn. Có thể bài viết này chưa được hay, chưa giới thiệu được nhiều, rất mong được ý kiến đóng góp của mọi người để mình có những bài viết chât lượng hơn. Cảm ơn mọi người đã quan tâm bài viết này của mình.