Blockchain code Metaverse VR

Crypto×VR×SmartContract(435)

スポンサーリンク

//tips

//smart contract

Webhook設定確認の続き。

gihubでのevent実行によりHTTP Requestsにてgithubからの画像postが行われた。

post詳細内容はjson形式でngrokのターミナル記載の下記からみることができた。

http://127.0.0.1:4040

ここからはserver.jsのimage送付部分を加工してjsonから表示内容を決めていく。

app.post("/github", (req, res) => {
//コンテンツ設定
const content = ":wave: Hi mom!";
const avatarUrl = ;
axios
.post(process.env.DISCORD_WEBHOOK_URL, {
//ターゲットであるdiscordに送付
content: content,
embeds: [
{
image: {
url: avatarUrl,
},
},
],
})
.then((discordResponse) => {
//送付できたらwebページに成功メッセージ表示
console.log("Success!");
res.status(204).send();
})
.catch((err) => console.error(`Error sending to Discord: ${err}`));
});

まずはjsonから画像部分を引っ張るようにする。

const avatarUrl = req.body.sender.avatar_url;
//jsonのsenderのavatar_url項目から引っ張る

コードを変更したのでcontrol+Cでnpm startを中断し、再度npm startで更新する。

このコード変更後の更新作業をなくせるツールでnodemonというものがあるのでインストールしておく。

npm install nodemon -g

これで自動的に更新作業をしてくれるようになるそう。私はインストールしたが効果ないようなので保留。

下記のように送付コンテンツを書き換えることで、starを押すと… just starred webhooks-courseのように表示されるようになった。

app.post("/github", (req, res) => {
//コンテンツ設定
const username=req.body.sender.login;
const repoName= req.body.repository.name;
const content = `${username} just starred ${repoName}`;
const avatarUrl = req.body.sender.avatar_url;//jsonのsenderのavatar_url項目から引っ張る

さらにdiscordに送る場合は絵文字もつけることができ、

const content = `:taco: :taco: ${username} just starred ${repoName}:tada: :tada:`;

することでタコスの絵文字などを一緒に使用することができる。

Netlifyが楽にコマンドを管理できるツールとして役に立つとのことでインストール。

https://tech.gootablog.com/article/use-netlify/

npm install netlify-cli -g

netlify login

そうするとnetlify-discorderという新たなファイルができているので、中を見るとdiscorder.jsファイルができている。これは先のexpresscodeとかなり似ている。異なる点としてはasyncが使われていること。

今度はexpress-discorderの代わりに、こちらで操作してみる。

cd netlify-discorder
Npm install

netlify deploy --prod
? What would you like to do? + Create & configure a new site

新たなサイトを作ってくれるよう。

表示されたLogsからnetlifyページに飛ぶことができた。netlifyの登録はgithubとの連携で可能。

netlifyのEnvironment variablesのkeyに名前DISCORD_WEBHOOK_URL、valueにdiscordのURLを入れる。

このnetlifyのgithubstarsのurlをgithubの設定に持ってくる。これによりstarをクリックするとdiscordに通知されることが確認できた。

進めていくと今度はtwilioが現在webhookを使う上ではお勧めのプラットフォームとのこと。

Webhookベースのアプリケーション作成に移る。簡単なメッセージアプリになる予定。

https://www.terrasky.co.jp/twilio/

Twillioのアカウント作成。

フリーアカウントを作成し、トライアルナンバーをget。

Phoneのactive numberでメッセージを送れるwebhookを確認することができた。twillioの場合はwebhookではなく、twimlという独自の言語を使用するようなのでそちらでの活用の仕方をみてみる。

TwiML Binを下記で新たにcreate。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Message>You got this!</Message>
</Response>

active numberの設定で上記のtwimlを設定。これで電話番号で連絡してもメッセージを受け取ることができる。

一通りのwebhookの流れは理解できてきたので。再度parsiqの設定に戻る。

Step 3 - Create Webhook
Login to PARSIQ account. Create a webhook transport then set the ngrok forwarding address to the transport URL

ngrok forwarding address というものは理解できるのでそちらを設定。

cd prq-webhook

ngrok http 3000

parisiqのtransform設定のwebhookにngrok生成のURLをアタッチ。

Sampleで紹介されていた下記を新しく作成したsmart triggerに設定。

stream EthUsdPriceUpdates
from ChainlinkPriceFeed
where @pair == "ETH/USD"
process
let eth_usd_pair = getChainlinkPriceFeedPair("ETH/USD")

emit {..., eth_usd_pair}
end

再度下記を行う。

cd prq-webhook
node index.js

その上でclick 'Deploy' from the Smart Trigger page in PARSIQ account。

Trigger deployedの表示。デプロイはされたよう。

In a few minutes you should see the data from the smart trigger in your application.

確かにtriggerd produced 1 eventとpayloadが表示された。npm install していないこととpage表示の設定を.jsの方に記載していないので特にngrokページでのリアクションはない。

できれば通知を飛ばしたいのでdiscordの方に通知を飛ばせる方法がないか探る。

一通りParsiqから認証接続作業を行うとメッセージがdiscrodで確認できた。
「いらっしゃいParsiq Botちゃん。ほら、ちゃんとご挨拶して!」

できない要因がわからないのでサポート(Bd@parsiq.net)に連絡。返事待ち。

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.