[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.)