[5분 만에 완성되는 웹훅] 오브니즈에서 디스코드로 공지 보내기.
10593 단어 DiscorddiscordbotobnizWebhooktech
Discord 측에서 Webhook URL 준비(2분)
데스크톱 응용 프로그램에서 온 것입니다.
Bot(Webhook의 먼저 가상 사용자)를 만들고 싶은 서버를 열고 서버 이름 오른쪽에 있는 하단 메뉴
Server Settings
를 엽니다.Integrations
중에서 Webhooks
를 선택합니다.New Webhook
버튼, 위의 그림과 같이 하십시오.Webhook URL을 복사하고 제어합니다.
Postman으로 테스트 진행(여기는 안 해도 돼)
디스코드의 웹훅에 관한 규정은 기본적으로 3개에 불과하다.
content
키에 전송된 데이터 삽입application/x-www-form-urlencoded
또는 multipart/form-data
또는 application/json
중 하나응용 프로그램/x-www-form-urlencoded 때
multippart/form-data 시
응용 프로그램/json 때
잘 보내주실 수 있나요?
상기 3개의 연락센터-타입을 확인한 방법 중 어느 하나라도 발송이 가능합니다.
obniz 옆에 코드 쓰기 (복사 붙여넣기 3분)
설정 등 생략.
Discord는 버튼 스위치를 누르면 다음과 같이 무작위 추첨 결과 문자열 스크립트를 샘플로 보냅니다.
axios POST의 Content-Type은 기본값
application/json
이므로 매개변수 2에 객체{ content: omikuji }
를 직접 배치하면 됩니다.omikuji.js
const axios = require('axios');
const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // 自分のObniz IDを入れる
const DISCORD_WEBHOOK_URL = 'ここに取得したWebhook URLを入れる';
obniz.onconnect = async function () {
obniz.display.clear();
obniz.display.print('Hello obniz!');
// スイッチの反応を常時監視し変化があれば実行します
obniz.switch.onchange = async function (state) {
if (state === 'push') {
// プッシュスイッチが押されたとき以下を実行
// ランダム値から「おみくじ結果」を作成します
const v = Math.random();
const omikuji = (v > 0.8) ? '大吉' : (v > 0.6) ? '中吉' : (v > 0.4) ? '吉' : '凶';
console.log('おみくじ結果:' + omikuji);
obniz.display.clear(); // 画面を消去
obniz.display.print('pushed'); // pushed と画面に表示
// axiosで送る
try {
// POSTリクエストでDiscordにおみくじ結果を送信
const response = await axios.post(
DISCORD_WEBHOOK_URL,
{ content: omikuji } // このオブジェクトがJSONとして送信される
);
// データ送信が成功するとレスポンスが来る
console.log('レスポンスを受信しました:' + response.data);
console.log('POSTに成功しました!');
} catch (error) {
// ネットワークに接続できてない・サーバーが落ちてる・URLが違うなど
console.log('POSTに失敗しました……');
console.error(error);
}
} else {
// プッシュスイッチ戻された・左右などの場合
obniz.display.clear(); // 画面を消去
}
}
}
Node.js 실행을 사용하여 단추 스위치를 눌러 보십시오.$ node omikuji.js
Discord는 원활하게 작동할 경우 이렇게 투고합니다.
수고하셨습니다.
Reference
이 문제에 관하여([5분 만에 완성되는 웹훅] 오브니즈에서 디스코드로 공지 보내기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ukkz/articles/100025c6ac5435텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)