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

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

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

4

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

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

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