Chức năng Webhook tích hợp trong Discord giúp bạn dễ dàng nhận tin nhắn tự động và bản cập nhật dữ liệu gửi vào kênh văn bản trong máy chủ của mình.
Hãy tưởng tượng chức năng này như kiểu bạn gửi tiền mặt bằng ống khí nén ở ngân hàng vậy, nhưng thay vì một đi không trở lại như tiền gửi thì bạn đang thực sự gửi tin nhắn vào Discord từ một nền tảng khác.
Bằng cách tạo một điểm cuối webhook trong máy chủ của bạn, bạn sẽ tạo ra một URL cho Webhook có thể dùng để liên kết với nhiều dịch vụ khác.
Mặc dù ai cũng thích dùng ống khí nén (đúng 100%), nhưng điều quan trọng cần lưu ý là webhook cần có một website khác để sử dụng (mặc dù người dùng có kiến thức về lập trình có thể tự xây dựng ống khí nén riêng).
Một số dịch vụ và website được thiết kế để dễ dàng sử dụng webhook và gửi tin nhắn ra bên ngoài, còn số khác lại không. Sau đây là danh sách tham khảo hữu ích:
| Có thể sử dụng webhook: | Không thể sử dụng webhook: |
| GitHub | Twitch/YouTube |
| CircleCI | Nelly The Hamster |
| DataDog |
Tạo webhook
Nếu muốn cập nhật máy chủ Discord bằng lệnh commit và pull của GitHub hay theo dõi thông tin phân tích của DataDog hay làm những việc tương tự thì sau đây là cách thực hiện!
- Mở Cài đặt máy chủ, rồi chuyển đến tab Tích hợp:
- Nhấp vào nút "Tạo webhook" để tạo webhook mới!
Bạn sẽ thấy một số tùy chọn tại đây. Bạn có thể:
- Chỉnh sửa ảnh đại diện: Bằng cách nhấp vào ảnh đại diện bên cạnh Tên ở trên cùng bên trái
- Chọn kênh để webhook đăng lên: Bằng cách chọn kênh văn bản mong muốn trong menu thả xuống.
- Đặt tên cho webhook: Để phân biệt nhiều webhook cho nhiều dịch vụ khác nhau.
Vậy là bạn đã có URL/ống khí nén tiện dụng của riêng mình để liên kết với những website khác mà bạn muốn nhận tin nhắn từ đó.
Ví dụ nhanh: Tiện ích tích hợp webhook của GitHub
Vì webhook không thể tự hoạt động mà cần được liên kết với một website khác để hoạt động như dự định nên tôi nghĩ tốt nhất là nên giới thiệu một tiện ích tích hợp mẫu cho những người đam mê GitHub và lập trình.
Bạn có thể dùng webhook của Discord để cập nhật thông tin về những lần hợp nhất (merge) hoặc gửi (push) mã trong kho lưu trữ (repository) vào kênh văn bản trong máy chủ.
1. Sao chép URL của webhook cho máy chủ/kênh bạn muốn nhận tin nhắn:
Trong máy chủ của mình, tôi đã tạo một kênh văn bản có nhãn #general-chat và tôi muốn những lần cập nhật kho lưu trữ sẽ gửi tin nhắn vào đây!
Do đó, tôi sẽ lấy URL webhook của kênh này bằng cách nhấn vào nút Sao chép URL webhook:
2. Thêm URL webhook vào phần cài đặt của kho lưu trữ GitHub
Chọn kho lưu trữ mà bạn muốn nhận tin cập nhật từ máy chủ Discord. Sau khi chọn kho lưu trữ, hãy chuyển đến menu Cài đặt > Webhook
Sau đó nhấp vào nút "Thêm webhook", rồi nhập URL do Discord tạo vào ô trống "Payload URL" (URL của dữ liệu truyền đi).
Để đảm bảo webhook hiển thị tin nhắn đúng cách, điều thực sự thực sự thực sự THỰC SỰ thực sự quan trọng là bạn phải thêm "/github" vào cuối URL đó. Đúng vậy, điều gì quan trọng nhắc lại 5 lần.
Ngoài URL, bạn còn có thể sử dụng một số tùy chọn riêng cho GitHub. Đối với loại nội dung, hãy giữ nguyên application/json. Định dạng webhook của Discord rất thích JSON. Trong phần tiếp theo, bạn có thể chọn tùy chỉnh loại sự kiện nào sẽ kích hoạt tin nhắn webhook.
Nhấp vào nút "Thêm webhook" cuối cùng bên dưới tùy chọn tùy chỉnh thông báo sự kiện là xong! Khi tiến hành gửi bản cập nhật trong kho lưu trữ (bao gồm cả việc chỉnh sửa tệp readme) thì thông tin cũng sẽ hiển thị trong kênh văn bản:
Mọi việc đã xong! GitHub chỉ là một ví dụ về một tiện ích tích hợp có thể gửi tin nhắn bằng webhook. Nếu có năng khiếu về xây dựng ứng dụng JSON hoặc các yêu cầu HTTP POST và muốn tùy chỉnh các webhook của riêng mình, bạn có thể tìm hiểu thêm thông tin trong tài liệu dành cho nhà phát triển của chúng tôi.