NetLify関数を使用してスラックにポストイベントの通知
14666 ワード
仮想コーヒーでは、我々はほぼ毎日のイベントがあり、我々は毎日スラックでハングアップ!だから、私たちはいくつかのイベントリマインダーをスラックに行く得ることは避けられなかった.我々の最初のパスは、遅いマイクロジャース(我々があなたがいなくて寂しいマイク)によってありました❤️). 私たちのイベントはMeetingplaceに記載されました.IOは、MetingPlaceとスラックのポストから日付をプルダウンするRubyアプリを書きました.
我々がMeetingPlaceから我々自身のCMSに移ったとき、私は若干のアップグレードをする機会を取りました、そして、同時にJavaScriptに変えてください.に沿って従ってください私たちはあなたのために行くいくつかのイベントのアラームを得ることができます!
Meetingplace Events Bot
指定された範囲のイベントを与えるデータソース.我々は、このデータを格納するカスタムCMSを持っているが、これはまた、meetingplace、meetupからすることができます.com、または他のどこ. スラックアプリを作成し、スラック に追加されましたいくつかのコードを実行する場所- netlify関数を使用している cronジョブを実行できるもの-
を使用しています.時間のアラームをするつもりなら、私はあなたがgithubアクションを使用しないように助言します.あなたはそれらのイベントを開始する時間に十分に近い実行するためにカウントすることはできません.
netlify関数は、URLにあるJavaScriptファイルです.これは、取得またはポストパラメータを受け取ることができます応答を提供することができます.
私たちの機能は、私たちのcronジョブ(これについてはもう少し)と呼ばれ、スラックにメッセージを送ります.
関数が呼び出されると、何が起こるかの基本的な概要を示します. cronジョブは
関数はイベントをデータソースから適切なパラメータ から取得します関数は、必要に応じてイベントを解析します
次に、それは 上記のブロックテンプレートを使用していくつかのブロックを作成します最終的に、機能はメッセージを
を使っているスラックに送ります
あらゆるイベントAPIが少し異なるように見えるので、私はステップ2と3に超深く掘るつもりでありません.
私は、あなたが同じ考えに続くそれを使うことができる基本的なGithubテンプレートを作成しました:
あなたがそこに指示に従った後、あなたは我々が必要なすべてを行う作業NetLify機能+スラックアプリがあるでしょう!
あなたは平易なテキストでスラックメッセージを投稿することができますが、私はそれが上のスクリーンショットのようなメッセージを設計するためにスラックの を使用するようにかなり素晴らしく、簡単に見つけました.
私たちの毎週のメッセージのためのブロックは、ここにあります
形式は、ユーザーのローカルタイムゾーンにフォーマットします.それで、あなたが12 PM ESTで始まる日付があるならば、あなたは open in builder私たちにリンクを開くための良い探しボタンを与える.確認ダイアログを追加することもできますし、必要に応じてこれらのいくつかの他のアクションを行う!
何か質問があれば私に教えてください、またはどこかに我々が改善することができます参照してください場合は、Githubのテンプレート上の問題をファイルしてください!
我々がMeetingPlaceから我々自身のCMSに移ったとき、私は若干のアップグレードをする機会を取りました、そして、同時にJavaScriptに変えてください.に沿って従ってください私たちはあなたのために行くいくつかのイベントのアラームを得ることができます!
Meetingplace Events Bot
必要なものはこちら
クロンジョブ.org NetLifyでの関数の作成
netlify関数は、URLにあるJavaScriptファイルです.これは、取得またはポストパラメータを受け取ることができます応答を提供することができます.
私たちの機能は、私たちのcronジョブ(これについてはもう少し)と呼ばれ、スラックにメッセージを送ります.
関数が呼び出されると、何が起こるかの基本的な概要を示します.
GET
、GET
、type=weekly
のtype=daily
パラメタで、私たちの機能のURLにtype=hourly
リクエストを送ります次に、それは
スラックWeb APIクライアント あなたのためのGiTubテンプレート!
私は、あなたが同じ考えに続くそれを使うことができる基本的なGithubテンプレートを作成しました:
あなたがそこに指示に従った後、あなたは我々が必要なすべてを行う作業NetLify機能+スラックアプリがあるでしょう!
スラックイベントリマインダテンプレート ボーナス:あなたのスラックメッセージを設計する
あなたは平易なテキストでスラックメッセージを投稿することができますが、私はそれが上のスクリーンショットのようなメッセージを設計するためにスラックの を使用するようにかなり素晴らしく、簡単に見つけました.
私たちの毎週のメッセージのためのブロックは、ここにあります
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "📆 This Week's Events Are:",
"emoji": true
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*<!date^1649768400^{date_long_pretty} {time}|Tuesday, April 12, 2022, 9:00 AM EDT>*\nVirtual Coffee - Morning Crowd"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*<!date^1649952000^{date_long_pretty} {time}|Thursday, April 14, 2022, 12:00 PM EDT>*\nVirtual Coffee - Afternoon Crowd"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*<!date^1650373200^{date_long_pretty} {time}|Tuesday, April 19, 2022, 9:00 AM EDT>*\nVirtual Coffee - Morning Crowd"
}
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "See details and more events at <https://virtualcoffee.io/events|VirtualCoffee.IO>!"
}
]
}
]
}
毎時のメッセージの例を示します.{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "⏰ Starting Soon:",
"emoji": true
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Test Event*\n<!date^1649790000^{date_long_pretty} {time}|Tuesday, April 12, 2022, 3:00 PM EDT>"
},
"accessory": {
"type": "button",
"text": {
"type": "plain_text",
"text": "Join Event",
"emoji": true
},
"value": "join_event_173",
"url": "https://virtualcoffee.io",
"action_id": "button-join-event"
}
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "An hour-long chat with devs at all stages of the journey. You can come to hang out with great people, ask questions or bring up a topic, or just sit back and listen to others talk about tech. Currently open to slack members only. Check announcements for the Join Event button.Every Tuesday at 9AM ET!"
}
]
},
{
"type": "divider"
}
]
}
ブロックキットビルダー ここで注意するカップルクール
<!date>
コマンドを使うことができます、そして、それはカリフォルニアのユーザーのために9 amとして出力されます!ビルダーで開く それだ!
何か質問があれば私に教えてください、またはどこかに我々が改善することができます参照してください場合は、Githubのテンプレート上の問題をファイルしてください!
Reference
この問題について(NetLify関数を使用してスラックにポストイベントの通知), 我々は、より多くの情報をここで見つけました https://dev.to/virtualcoffee/post-event-reminders-to-slack-using-netlify-functions-3ie0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol