
シェア:
Isabel Hildebrand is currently studying law at HWR, Berlin. She is very passionate about automation and likes to work at the intersection of law, productivity, and technology. Feel free to reach out to her on LinkedIn or Twitter.
2021年の目標Vonageとn8nでボキャブラリーを増やそう
正直に言おう。新しい言語を学ぶことは難しい。逆説的だが、新年の抱負にそれを選ぶと、さらに難しくなる。もしあなたが使っている言語学習アプリに最新の専門的な語彙が欠けているなら、このチュートリアルは正しい神経を刺激し、あなたの目標を現実に変えてくれるかもしれない。
Vonageでボキャブラリーを自動送信する方法を学びます。ソリューションの構築には、事前のプログラミング知識は必要ありません: n8nは視覚的なワークフローデザイナーを提供します。
最新の技術関連語彙は以下から入手できる。 ハッカーニュース.技術関連の最新語彙は LingvaNexAPIはあなたの好きな言語に翻訳します。多数の言語があなたを待っています。(英語) エアテーブルベースはあなたの語彙を永遠に保存するための白紙のキャンバスです。
始めよう!
必要条件
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
この便利な語彙力アップソフトを作るには、以下のものが必要だ:
n8n - n8nのインストール方法の詳細は クイックスタートページにあります。
LingvaNexアカウント - 無料アカウント作成 アカウント.APIキーを生成すると、20万文字まで無料プランに含まれます。
Airtable アカウント 登録する無料
Completed Workflow for Automated Vocabulary Improvement
n8nワークフローの作成
このn8nワークフローは、Vonageを使用してSMSメッセージで技術関連の語彙を送信することを自動化します。完成した ワークフローをダウンロードしたい場合は、不足している情報を入力して設定する必要があります。修正が必要なノードには感嘆符が表示されます。
n8nノードは、ワークフローにおけるバインディングエージェントのような役割を果たします。データを実行、取得、送信します。
A ワークフローは ノード特定の結果を生成するために体系的に接続されたノードの集まりである。以下の8つのノードが使用される:
クーロントリガー- 毎日午前8時にワークフローを開始
ハッカーニュース- ハッカーニュースのデイリートップ3の記事のタイトルを引っ張ってくる
機能- タイトルから単語を抽出し、重複をフィルタリングします。
リンバネックス- 抽出された単語を希望の言語に翻訳
セット- LingvaNexの関連データをフィルタリングします。
エアテーブル- Airtableに語彙を保存する
機能 - メッセージを作成する
ボネージ- VonageのSMS APIを通じて語彙を送信します。
これらのノード・タイプを追加する際に、機能的な役割を反映した名前に変更することができます。
n8nを始める
n8nを起動するには、コンソールウィンドウを開き、以下のコマンドを入力する:
次に、"o "をタイプするか、コンソール出力に表示されているURLにアクセスします。 スタートノードが表示されます。その スタートノードはこのワークフローには必要ありませんが、削除することもできません。自由に横に動かしてください。
または n8n.cloudローカルにn8nをインストールする必要はありません。
ワークフローの保存
をクリックしてn8nの左サイドパネルを開きます。 >(展開)アイコンをクリックします。をクリックします。 名前を付けて保存をクリックし、ワークフローに名前を付けて 保存.
ワークフローを定期的に保存することをお忘れなく。クリック 保存をクリックして、保存したコピーを更新してください。
1.Cronトリガーノードでワークフローを毎日実行する
その Cronノードは、決まった日時や間隔で定期的に実行するワークフローをスケジュールするのに便利です。これは cronソフトウェアユーティリティ、macOSの AutomatorやWindowsの タスクスケジューラー.
をクリックして、ワークフローに新しいノードを追加します。 +ボタンをクリックして、ワークフローに新しいノードを追加します。 エディターUI次に Cronノードを選択します。 トリガーノードを選択します。
をクリックする。 クーロンタイムを追加ボタンをクリックし、モードとして "Every Day "を選択します。時間に "8 "を入力します。
ノードの見出しを "Cron "から "Daily trigger "に変更するには、名前をクリックして編集し、名前の右にある✔(チェックマーク)をクリックします。これでノードの設定が完了し、パラメータ・ウィンドウが閉じます。
戻る デイリートリガーノードに戻り 実行ノード.Cron Trigger parameters ウィンドウはこんな感じです:
Cron Trigger Node to Start Workflow
2.ハッカーニュースノードでトップ3の記事を取得する
ワークフローを技術関連の語彙で満たすには ハッカーニュースノードを追加してください。
から "All "オプションを選択する。 リソースを選択する。制限 制限フィールドに "3 "を入力し、その日の3つの記事に限定する。
以下 追加フィールドの下にある フィールドの追加ボタンをクリックし、ドロップダウンリストから「タグ」を選択する。新しく作成された タグフィールドで "Front page "を選択する。これで、現在のボキャブラリーのアスペクトが確保されます。
ノードの見出しを "Hacker News "から "Get top 3 articles "に変更するには、名前をクリックして編集し、名前の右にある✔(チェックマーク)をクリックします。
に戻る トップ3記事の取得ノードに戻り ノードを実行する.ノードはこのようになるはずです:
Hacker News Node to Retrieve Articles From Hacker News
3.関数ノードで記事から単語を抽出する
関数ノードは、JavaScriptコードのカスタムスニペットを追加したり、他のノードからデータを変換したり、n8nがサポートしていないカスタム機能を実装するために使用します。
前のノードでは追加のコンテンツを取得したので 関数ノードが必要になります。ワークフローに追加してください。
このFunctionノードはタイトルを単語に分割します。また、数字の書式は 正規表現.単語の配列を集合に変換し、再び配列に戻すことで重複を削除します。最後に、配列を データ構造に変換する。
Node Editorビューで、JavaScript Codeフィールドをクリックして展開します。既存の内容を以下のスニペットで置き換える:
const words = [];
const regex = /\d/g;
const newItems = [];
// Splits titles into words and removes numbers
// using regular expressions
for(let i=0; i < items.length; i++) {
let split_titles = [];
split_titles = items[i].json.title.split(' ');
for(let j=0; j < split_titles.length; j++) {
if(regex.test(split_titles[j])) {
continue;
} else {
words.push(split_titles[j]);
}
}
}
// Removes all duplicate words by converting the
// array into a set and then back into an array
const uniqueWords = [...new Set(words)];
// Transform the array to the data structure expected
// by n8n
for(let k=0; k < uniqueWords.length; k++) {
newItems.push({json: { words: uniqueWords[k] }});
}
return newItems;
このウィンドウを閉じると、自動的にノードエディタに戻ります。
名前をクリックして編集し、✔(チェックマーク)をクリックして、ノードの見出しを「Function」から「Extract words」に変更します。
に戻る 単語の抽出ノードに戻り ノードの実行.
Function Node to Extract Words
4.Lingvanex Nodeを使って単語を翻訳する。
LingvaNexノードは、抽出された単語を以下の言語に翻訳します。 選択した言語.
ワークフローに追加し、認証情報のセクションで LingvaNex APIフィールドの"- 新規作成 "を選択します。その中の 認証情報名フィールドに "LingvaNex "のように認証情報の名前を入力し、APIキーフィールドにLingvaNexキーを入力して 作成ボタンをクリックします。お客様の LingvaNexアカウントページをクリックし キーを生成するボタンをクリックしてください。
テキスト・フィールドの横にある歯車のマークをクリックして式を追加し、「式の追加」を選択する。
式はノードのパラメータを動的に設定するのに便利です。これらはプレースホルダ付きのテキスト形式で表示されます。JavaScriptコードはデータへのアクセスを可能にするために使用されます。
変数 変数セレクタセクションで、以下を選択する:
ノード > 単語の抽出 > 出力データ > JSON > 単語
式フィールドの式は次のようになる: {{$node["Extract words"].json["words"]}}
Translate To "フィールドのドロップダウンリストから学習したい言語を選択し、名前をクリックしてノードの見出しを "LingvaNex "から "Translate "に変更します。
Translateノードに戻り、Execute Nodeをクリックします。
Lingvanex Node for Translation of the Extracted Words
5.Set ノードでデータにフィルタをかける
LingvaNexノードは、cacheUseのような、ワークフローの残りの部分で必要とされない追加出力を与える。
を使用する。 セットノードを使用して、英単語と翻訳された単語のみが次のノードに渡されるようにします。ワークフローに追加して セットのみ保持フィールドをアクティブにします。をクリックします。 値の追加ボタンをクリックし、ドロップダウンリストから「String」を選択し、「Name」フィールドに「英単語」と入力する。値」フィールドの隣にある歯車のマークをクリックして式を追加し、「式の追加」を選択する。式の編集ウィンドウが開きます。
Variable Selectorセクションで、以下を選択する: ノード > 翻訳 > 出力データ > JSON > ソース
Expressionフィールドの式は次のようにする: {{$node["Translate"].json["source"]}}
値の追加ボタンをクリックして、ドロップダウンリストから「文字列」を選択し、「名前」フィールドに「翻訳された単語」と入力します。
の横にある歯車マークをクリックして式を追加します。 式の追加フィールドの横にある歯車マークをクリックして、"Add Expression "を選択する。
Variable Selectorセクションで、以下を選択する:
ノード > 翻訳 > 出力データ > JSON > 結果
表情はこのようになるはずだ:
{{$node["Translate"].json["result"]}}
ノードの見出しの名前を "Set "から "Filter data "に変更するには、名前をクリックして編集し、名前の右側にある✔(チェックマーク)をクリックします。これでノードの設定が完了し、パラメータ・ウィンドウが閉じます。
戻る フィルター・データノードに戻り ノードの実行.
Filter Data Node for Retrieving Vocabulary Data
6.Airtableノードで語彙を保存する
翻訳した語彙をAirtableシートに毎日保存するには、Airtableの認証情報を取得する必要があります。
ダッシュボード ダッシュボードに移動し、ウィンドウ右上のユーザーアイコンをクリックします。ドロップダウンリストで アカウントボタンをクリックします。あなたの アカウントの概要をクリックします。 APIキーの生成.
また、Airtableのベースを作成し、ここに語彙を自動的に保存するために使用する必要があります。Airtableのワークスペース・ダッシュボードにアクセスし、新しいベースを作成します。 +アイコンをクリックして新しいベースを作成します。 "Add a base"フィールドの横にある+アイコンをクリックして、新しいベースを作成します。ドロップダウンリストで "ゼロから始める"を選択し、空のベースを作成する。
を選択して、デフォルトの列の名前を「英単語」と「訳語」に変更します。 名前の変更フィールドを選択します。
両方の列のフィールドタイプを "Single line text "に変更する。残りの既存の列を削除する。テーブル名は "Table 1 "のままでよい。
ベースはこんな感じ:
Airtable Base for Your Vocabulary Backlog
ベースを作成したら、後で使用するためにベースIDを見つける必要があります。ベース ID は Airtables APIページから取得できます。
次に、ワークフローに Airtable ノードを追加し、ワークフロー内の 認証情報フィールドで、ドロップダウンリストから "- 新規作成 -" を選択します。新しい認証情報の作成:"Airtable API" ウィンドウが開くので、"認証情報名 "フィールドで、"Airtable API" を選択します。 クレデンシャル名フィールドに、"Airtable" のようなお好みの名前を入力します。
APIキーの欄に、以前に取得したAirtableのAPIキーを貼り付けます。
をクリックします。 作成ボタンをクリックします(自動的にノード・エディターに戻ります)。 操作フィールドのドロップダウンリストから "Append "を選択します。
ベースID ベースIDフィールドに、以前に取得したベースIDを入力してください。
テーブル名を テーブルフィールドに入力します。Airtableベースで名前を変更していない場合は、"Table 1 "です。
ノードの見出しの名前を「Airtable」から「Save today's words」に変更するには、名前をクリックして編集し、名前の右側にある✔(チェックマーク)をクリックします。これでノードの設定が完了し、パラメータウィンドウが閉じます。
に戻る 今日の言葉を保存するノードに戻り ノードの実行.
Airtable Node for Saving the Vocabulary
Airtableで「表1」に追加された単語を探す:
Airtable After Executing the Node
7.ファンクションノードでメッセージを作る
メッセージの作成にはFunctionノードを使いますので、ワークスペースに追加してください。
このFunctionノードは1日の語彙を制限し(デフォルトでは5つ)、送信する単語を「英単語:訳語」の形式で並べます。それらを配列に追加し、配列の内容をカンマ区切りの文字列に変換します。
ノード・エディタ・ビューで JavaScriptコードフィールドをクリックし、次のスニペットを貼り付ける:
const number_of_words = 5;
const words = [];
// Crafts the words to be sent in en_word : translated_word format
// and adds them to an array
for(let i=0; i < number_of_words; i++) {
words.push(items[i].json['English word'] + ' : ' + items[i].json['Translated word']);
}
// Takes all the items from the array and converts them into a comma
// separated string
const words_of_the_day = words.join(', ');
return [{json: {words_of_the_day: words_of_the_day}}];
このウィンドウを閉じると、自動的にノードエディタに戻ります。
ノードの見出しを "Function" から "Craft message" に変更するには、名前をクリックして編集し、名前の右にある ✔(チェックマーク)をクリックします。これでノードの設定が完了し、パラメータウィンドウが閉じます。
戻る クラフトメッセージノードに戻り ノードの実行.
Function Node for Crafting the Message
8.VonageノードでSMSメッセージを送信する
最後に Vonageノードが必要です。
追加 を追加します。ノードをワークフローに追加します。 Vonage APIフィールドで、ドロップダウンリストから「- 新規作成」を選択します。
Create New Credentials: "Vonage API" ウィンドウが開きます。に入力して、この API に「Vonage」という名前を付けます。 クレデンシャル名フィールドに入力し、API Key と API Secret の値を入力します。をクリックします。 作成ボタンをクリックすると保存され、自動的にノードエディタに戻ります。
に「Vonage API」と入力してください。 からフィールドに "Vonage API "と入力します。また To:フィールドに、デイリーボキャブラリーメッセージを受信する携帯電話番号を入力します。必ずE.164フォーマット(491234567)を使用してください。
あなたのメッセージをパーソナライズするには、メッセージの横にある歯車のマークをクリックしてください。 メッセージフィールドの横にある歯車マークをクリックします。ドロップダウンリストで「Add Expression」を選択します。式の編集ウィンドウが開きます。
おはようございます、今日の単語はこれです」のように、毎日の単語データを出力する前にテキストを入力することができる。
変数 変数セレクタセクションで、以下を選択する:
ノード > クラフトメッセージ > 出力データ > JSON > words_of_the_day
あなたの表情はこのようになるでしょう:
おはようございます!今日のお言葉です: {{$node["Craft message"].json["words_of_the_day"]}}
メッセージに満足したら、Edit Expressionウィンドウを閉じます。
ノードの見出しを "Vonage "から "SMS送信 "に変更するには、名前をクリックして編集し、名前の右側にある✔(チェックマーク)をクリックします。これでノードの設定が完了し、パラメータウィンドウが閉じます。
に戻る SMS送信ノードに戻り ノードの実行.あなたのパーソナライズされたメッセージが最終的に表示されます。
Vonage Node for Sending Out Daily Vocabulary Messages
ワークフローを保存して アクティブを をオン(緑)をオンにします。
これでワークフローは完了だ!夢の言語を学ぶのを先延ばしにする言い訳はもうありません。📖🍎
End Result: Smart Vocabulary Learning Send via Vonage Sms API
結論
Vonage、LingvaNex、Airtable、そしてn8nのこの完璧なマッチングで、あなたは8つの異なるノードを使用してn8nワークフローを構築する方法を学びました。語彙力をレベルアップする楽しい方法です!
このワークフローを他の人と共有することを検討し、n8nコミュニティと連絡を取ってください。 n8nコミュニティフォーラムを通じて連絡を取ってください。
次はどうする?
このワークフローを見て、もっと自動化を進めたい、もっとスキルを向上させたいと思われましたか?知識欲の渇きを癒すアイデアをいくつかご紹介しましょう:
HackerNewsノードを他のニュースや辞書APIに置き換えることができます。を組み合わせて単語を取得することもできます。 HTTPリクエストと HTML Extractノードを組み合わせて単語を取得することもできます。これにより、幅広い語彙の選択肢が得られます。
Airtableに保存されたデータを使って、語彙ダッシュボードを作成することができます。Airtableの リツールまたはコード不要のモバイル ブラボースタジオアプリを使ってみてください。これは、あなたの勉強に役立つ視覚的な側面を追加します。
さらに探求する選択肢は無限にある。がんばれ!
