年の瀬にお初にお目にかかります。開発チームの伊佐山です😼
開発チームっぽくなにか作った話をしようと思います。
注:そこそこ長いです
ちなみに作ったBotはこちら!!!
2020 ギャルとの遭遇
業務でPower Automateを使用する機会がありまして
今まで触れたことのない技術だったのでなんとか仲良くなろうと
作ってて楽しいものが作りたい…🤔💭
こんなご時世だ。。。
00年代からタイムスリップしてきたギャルと遭遇するかもしれない
そうなった場合に私はあの言語を理解できないかもしれない。。。
ギャルとのコミュニケーションが取れなくなってしまう。。。
そうだ、ギャル文字変換Botを作ろう( ゚∀ ゚)ハッ!
※当時(7月)の伊佐山は久しぶりのギャル文字ブーム中でした
さあ設計をしよう
- 変換したい文字列を送信
- 送信された文字列をギャル文字に変換
- 送信されてきたユーザーに対してギャル文字へ変換した文字列を返信
シンプル!!!!
ですが良いのです。私めのようなゴリゴリコーディングしてると肩こっちゃう系エンジニアにはローコードがありがたいのです( っ’-‘)╮ =͟͟͞͞🥺ブォン
さて、設計は固まりました。
実装の準備にとりかかる
今回使用するのはLINEとPower Automateです。
アカウントの用意と、使用するLINEアカウントにてWebhookが使用できる設定を用意しましょう。
公式ドキュメントが充実していてありがたいですね、順調です。
変換処理の実装
せっかくPower Automateを使用するのですからローコードを満喫したいじゃありませんか
変換用データベースを作ることも頭をよぎりましたが、もっと早く変換ができるはず。。。
出会いました
その名も、ギャル文字翻訳ページ(http://awm.jp/~yoya/php/gal.php)👏🎉✨
このページに対してリクエストを投げ、その結果を取得できればもうゴールは目前です。
ちなみにPower Automateフローはこんな感じ
正直な話、どうしても、jsonから値を取り出す際にeachが出現する構成は好きになれない。。
かといって頭で変数定義しようとしても定義一つ一つでeachが出現するためやめました。。
キー指定でダイレクトには値を取り出せない事がわかりましたフム(( ˘ω ˘ *))フム
テストだテストだ
作ったからには動かしたい、誰しもそう思うと思います。
むしろ動かしながら実装したい。私もそう思います。
というわけでテストです。
先程の画像の右上にいたテストボタンを押すと、テストが開始できまず。
デバッグ機能完備!素晴らしい!!
フローのトリガーとなるLINEから作成したアカウントに対して文字列を送信します
かえってきました!!!!!
Power Automateの方も見てみましょう
取得した変数の内容もしっかり出してくれてる!
確認作業めちゃ楽!
ローコードってよきよき〜( ✋🏻˘ ˘👌🏻 )
でも苦労したことがあった
実装時にはローコードならではという部分の不便さもありました🙄💭
それは関数を使うと一気に可読性が落ちること
今回は翻訳結果を取得してくる部分で関数を使用しました。
関数の部分をクリックしないと何してるのかよくわからないし
スプリット関数の中身を見ようとすると難しくなる。。。
そう、このBot、お気づきの方もいるかと思いますがサイトスクレイピングしてるんです。
なのでどうしても関数で翻訳文字列のみを抜き出す必要がありました。
もっとやりようはあったと思いますが。。
やりたい内容によっては関数を使わざるを得ないこともあるので、ここが改善されたらなーとは思ってしまいますね😿
ギャルとの遭遇に備えて
日本語をギャル文字に変換するは対応できました。一安心です。
こちらから交流を図ることが可能となりました。
ですが、まだ難題が残っています。
それは、00年代からタイムスリップしてきたギャルが入力してきたギャル文字を日本語に翻訳できていないことです。
これは由々しき事態です。
せっかくギャルとの交流を開始しても、会話のキャッチボールができないのです。
これからの追加開発として
・日本語→ギャル文字 or ギャル文字→日本語の判定 ・Botを複数ではなく、このBotに対し機能追加
この対応をしなくてはならない・・・!
ということで今日も楽しく設計からのスタートです ファイ!! (∩`ω´)⊃))シュッシュッ
。+ฺ💖・続<+ฺ💖・。