スラックスラッシュコマンドのための無制限関数の構築


仕事でいくつかの側の会話のいくつかのアニメを見ている.我々は現在の時間で見ていることについて話します、そして、時々、人々はあなたが聞いたことがないアニメを持ってきます.それで、通常、私または同僚は、アニメが何であるかについての若干の情報を見るために、リンクでスラックメッセージを送ります.
それで、私はServerlessな機能について学びたいと思いました、そして、私は私が学ぶ動機づけを保つのを助けるゴールを必要とするタイプの人です.それで、私は誰かが何かをタイプするのを許すためにスラックでセットアップをすることができる何かを構築することに決めました./anime One Piece そして、入力したら、次のようなものが得られます.
スラック

マークダウン

Markdownのバージョンを見て、本当にスラックが目を開いて、完全なMarkdownを支持する日に興奮します.あなたがこのための完全なコードを見ることに興味があるならば、here is the Github link to it . 次に、私はこのいくつかを構築した方法を分解したい.コードは、私が作りたい改善があるので、完全に準備ができていません、しかし、私はより多くの変化に入る前に、これを今書きたいと思いました.

主な依存

  • Netlify Functions
  • Node Fetch
  • Netlify関数


    このライブラリは、それがNetlify機能を設定することから始めるのが簡単になりました.ライブラリは、関数が呼び出されたときに必要なハンドラを与えます.私は過去のようなアプリを書いたとき、私はルートを構築するための急行サーバーを設定します.このライブラリを使用して、私はTSファイルを作成することができました
    import { Handler, HandlerEvent } from '@netlify/functions';
    
    const handler: Handler = async (event: HandlerEvent) => {
       ...
    
       return {
         statusCode: 200,
         body: JSON.stringify({message: 'Hello'});
       }
    });
    
    NetLify CLIの助けを借りて、私はこのコードを取りました、そして、私は走りましたnetlify dev そして、私は郵便局に入って、このAPIを呼ぶことができました.

    ノード取得


    これはブラウザで実行されていないため、ウィンドウフェッチを使用することができません.したがって、ノードFETCHはFETCHを使用して応答に必要なデータを取得する方法を提供します.

    データ取得


    だから私はあまりにも遠くになる前に、私は人が探しているアニメデータを検索する方法を見つける必要がありました.それで、APIアクセスがあった2つは見つかりましたAnilist and Anime News Network . アニラAPIは、XML応答を使用して残りを使用するGraphSQLとアニメニュースネットワークを使用しています.
    私はXMLに対処したくなかったので、私はそれがより柔軟で、私にとって簡単であるようになったので、私はGraphqlと行きました.

    フィニッシュアップ


    私は人々がこの便利なように何かを見つけるかどうかを知ることは興味深いでしょう.コードを見てください、そして、私にあなたが何を考えるかについて知らせてください.次のコードを見ることができます.

    Jrock 2004 / アニメslackbot


    これは、あなたのお気に入りのアニメの情報を取得し、取得スラックボットです