【仕事の自動化】PythonでLINEを操作。メッセージや画像を自分へ送信しよう!【初心者の方もわかりやすいように解説】
HTML-код
- Опубликовано: 26 июл 2024
- \キノコードが作ったプログラミング学習 サービス登場/
学んだ知識をその場でアウトプットできるからスキルの定着が実感できる
Python学習といえば、キノクエスト!
・問題数は充実の350問以上
・環境構築は不要!
・カリキュラムがあるので学習方法に迷わない
▼登録はこちら▼
kino-code.com/kq_service_a/?u...
ーーー
みなさんが普段から使っていらっしゃるであろうLINE。
現在、LINEのアクティブユーザー数は8400万人といわれています。
これは、日本の人口の約67%にあたります。
この圧倒的なユーザー数を誇るLINEですが、メッセージのやり取り以外にもこんな機能が欲しい!と思ったことはありませんか?
例えば、気になるサイトの新しい記事が出たら通知して欲しい。
毎朝決まった時間に天気予報を通知して欲しい。
株価で狙っている金額になったらチャート画像ともに通知して欲しい。
もし、こんなことを自動で通知をしてくれたら、自分だけの秘書を無料で雇っている感覚ですよね。
この動画では、画像とともにメッセージを送ってくれるプログラムを作成します。
動画で説明する内容は、自分のLINEへ通知を送る方法、通知だけでなくメッセージの送り方、そして、画像と一緒に送る方法です。
以前、別の動画で解説をしたPythonを自動実行してくれるプログラムと組み合わせれば、用途は格段に広がると思います。
動画で何回かご紹介していますが、私がおすすめしている、最速のプログラミング上達方法があります。
それは、作りたいプログラムを、実際に作ってみることです。
ただ、勉強を始めたばかりだと、何を作ればいいかわからないという方もいらっしゃると思います。
今回の動画はそうした、Pythonの勉強を始めたばかりで、何を作ればいいかわからない、という方にも非常におすすめの内容になっています。
というのも、普段から使っているLINEに、自分で作ったプログラムから通知が来るというのは、なかなか達成感があると思いませんか?
ぜひ最後までご視聴ください。
キノコードでは、この動画の他にも仕事の自動化の動画、株のデータ分析の講座も配信しています。
ご興味ある方はぜひそちらもご覧ください。
チャンネル登録がまだの方は、新着通知をもいきますのでチャンネル登録をお願いします。
それでは、さっそくレッスンスタートです。
▼目次
0:00 はじめに
2:27 LINE Notifyへの登録
3:40 LINE Notify tokenの発行
4:57 実行環境と環境構築
5:37 必要なライブラリのインストール&インポート
6:29 必要な変数の設定
7:34 必要な情報を辞書型にする
9:50 LINE通知を送る
10:59 画像ファイルを送信する
14:24 時刻を取得する
16:43 時報を作る
17:17 おわりに
▼関連動画
Pythonの便利ライブラリ「Pandas入門講座」合併版|Pandasの基本的なこと3時間で学べます【Python超入門コースの次におすすめの入門講座】
• Pythonの便利ライブラリ「Pandas入...
【仕事の自動化】Pythonでの自動化プログラムを、さらに効率化させる「スケジュール実行」のやり方【初心者でもわかる】
• 【仕事の自動化】Pythonでの自動化プログ...
【徹底解説】Macでの環境構築|Pythonでプログラミングをはじめる準備をしよう!
• 【徹底解説】Macでの環境構築|Python...
【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう!
• 【徹底解説】Windowsでの環境構築|Py...
▼SNS
Twitter : / likes
Facebook : / %e3%82%ad%e3%83%8e%e3%...
Website : kino-code.com/
▼文字書き起こし
こんにちは、キノコードです。
みなさんが普段から使っていらっしゃるであろうLINE。
現在、LINEのアクティブユーザー数は8400万人といわれています。
これは、日本の人口の約67%にあたります。
この圧倒的なユーザー数を誇るLINEですが、メッセージのやり取り以外にもこんな機能が欲しい!と思ったことはありませんか?
例えば、気になるサイトの新しい記事が出たら通知して欲しい。
毎朝決まった時間に天気予報を通知して欲しい。
株価で狙っている金額になったらチャート画像ともに通知して欲しい。
もし、こんなことを自動で通知をしてくれたら、自分だけの秘書を無料で雇っている感覚ですよね。
この動画では、画像とともにメッセージを送ってくれるプログラムを作成します。
動画で説明する内容は、自分のLINEへ通知を送る方法、通知だけでなくメッセージの送り方、そして、画像と一緒に送る方法です。
以前、別の動画で解説をしたPythonを自動実行してくれるプログラムと組み合わせれば、用途は格段に広がると思います。
動画で何回かご紹介していますが、私がおすすめしている、最速のプログラミング上達方法があります。
それは、作りたいプログラムを、実際に作ってみることです。
ただ、勉強を始めたばかりだと、何を作ればいいかわからないという方もいらっしゃると思います。
今回の動画はそうした、Pythonの勉強を始めたばかりで、何を作ればいいかわからない、という方にも非常におすすめの内容になっています。
というのも、普段から使っているLINEに、自分で作ったプログラムから通知が来るというのは、なかなか達成感があると思いませんか?
ぜひ最後までご視聴ください。
キノコードでは、この動画の他にも仕事の自動化の動画、株のデータ分析の講座も配信しています。
ご興味ある方はぜひそちらもご覧ください。
チャンネル登録がまだの方は、新着通知をもいきますのでチャンネル登録をお願いします。
それでは、さっそくレッスンスタートです。
まず、使用するAPIサービス、LINE Notifyに登録します。
APIとは、Webサービスやソフトウェアの機能を、別のWebサービスやソフトウェアから呼び出せるようにしたものです。
APIの正式名称は、Application Programming Interface(アプリケーション プログラミング インターフェース)といいます。
APIには、天気予報のWebサービスから天気情報を引っ張ってくるAPIや、株価の情報を引っ張ってくるAPI、地図情報を引っ張ってくるAPIなどがあります。
LINE NotifyというAPIは、自分、もしくは自分が入っているグループにメッセージを送るために使用します。
ちなみに、notifyは、通知するという意味です。
それでは、Googleの検索画面でLINE Notifyと検索し公式サイトにアクセスしてください。
LINE Notifyの登録には、LINEアカウントで連携しているメールアドレスとパスワードを使用します。
ログインができたら、WEBページ右上に登録したご自身の名前が表示されいるはずです。
名前を一度クリックしましょう。
そうすると、「マイページ・登録サービス管理・ログアウト」と表示されます。
マイページをクリックします。
次に、WEBページの下の方にある、「トークンを発行する」をクリックします。
ここにはトークン名を入力します。
私は、「kinotest」としておきます。
次に、「通知を送信するトークルームを選択してください」の部分で、「1:1でLINE Notifyから通知を受け取る」を選択してください。
トークン名と、通知を送信するトークルームを選択すると、「発行する」が緑になります。
「発行する」をクリック。
発行されたトークンは後で使用するので、メモ帳かどこかにメモをして忘れないようにしましょう。
トークンが発行されると、連携中サービスに先ほど登録したトークン名とあなたのアイコンが表示されているはずです。
これでAPIを使用する準備が整いました。
詳しいことについては、LINE Notify APIの公式ドキュメントの「通知系」をご覧ください。
このレッスンでは、pythonとJupyter Labという実行環境を使って解説を進めていきます。
まず、簡単にJupyter Labを使うために、PythonのディストリビューションのAnacondaを使います。
Anacondaのインストール方法は、Pythonの環境構築についての動画がありますので、ご覧ください。概要欄にURLを貼っておきます。 概要欄にURLを貼っておきます。
また、AnacondaにはJupyter Labがインストールされています。Jupyter Labを起動してみましょう。
起動方法についても別途動画があります。
こちらについても概要欄にURLを貼っておきます。
▼文字書き起こしブログ
kino-code.com/pythonline/
▼お仕事のお問い合わせ
キノコードでは、仕事の自動化の開発業務&コンサルティング業務のみを現在受け付けております。
お問い合わせ先かTwitterのDMか、「キノコードトップページ→概要」にあるメールアドレスまでお問い合わせください。
#Python #LINE #自動化 #業務効率化 #プログラミング
【Python学習 といえば、キノクエスト】
キノコードが作ったプログラミング学習サービスが登場!
「やってみたい」から「できた」へ
・Pythonに興味がある
・業務を効率化したい
・アウトプットしてみたい
・学習方法に不安がある
▼登録はこちら▼
kino-code.com/kq_service_a/?.com&FuCJd0ftVsU_comment
いつも分かりやすい動画アップありがとうございます。
ストレスなく、学ぶことができ大変ありがたいです。
ずっと影から勉強させてもらいながら応援してます!頑張ってください!
非常にわかりやすいです!とても丁寧ですね。登録させていただきます。
とてもわかりやすくて役に立ちました。ありがとうございます😇
本当に素晴らしい動画です!
非常にわかりやすいです!違うSNSでも試してみます
今日本当丁度必要になったプログラムなのでとても嬉しいです!
おおっ、ジャストタイムですね!お役立ちできてよかったです。
物凄くやってみたいことが解説された動画をアップロードしてくださって、タイムリーで嬉しいです!さっそくやってみます!
おお!よかったです!ちなみに、どんなことをやってみたいと思われたのでしょうか?
@@kinocode 実は10年ほど VBA を細々とやっています。Excel 操作を目的に Python が使えると RUclips で知って、早速こちらの超入門コースで Windows にインストールを終え、Hello world を実行したところです。次にどんなことができるか?と思っていた矢先にこの動画。というわけです。 もうわくわくが止まりません(^^)
わかりやすくて疲れている時も勉強できるから素晴らしい
動画をみていると眠くなっちゃう人もいるみたいで、睡眠導入に使っている方もいらっしゃるとのこと。笑
分かりやすくて素晴らしいです😸
もっと早くに見ておけばよかった‼️
タイムリーで本当にありがたすぎます!
活用の具体的なイメージを与えていただけるのはありがたい。
いつも助かってる
キノコードさんの動画は、本当に分かりやすくて、楽しいです。独学でpythonをやってますが、以前よりキノコードさんの解説に着いて行けて、とても興味を持てます。ありがとうございます。
おおおー!!すばらしい!!!成長していらっしゃいますね!
@@kinocode ちょうど今、このLINE通知を試しました。何か応用してみたいと思います。
ぜひぜひ!「作りたいものを作る」ことが1番の成長になりますからね!
すごい!
姉御、めずらしく一番乗りじゃなかった。
いつも動画拝見させて貰ってます!
もし出来ればline botの作り方など出来ますかね?
いつもありがとうございます。とても勉強になります。
キノさんはなぜこんなに詳しいのですか。
ご自身でどのように勉強されているのでしょうか。
いつも動画でお世話になっています。
こちらの動画内の画像などの通知など実践的でとても達成感がありました。
重ねて[0:33]で言われていた新しい記事が出たら通知をするやり方を教えていただきたいです。
動画での説明でなくても構いません。大変お忙しい中、申し訳ありません。
色々と検索して試してみたのですが上手くいかなくて、こちらにコメントさせていただきました。
まって!マジ有難うございます!!
ホントに泣けるぐらいうれしいです!
ただ、
パイソンで、誰かから指定のメッセージを送られたとき、
指定のメッセージを返信すことができる。
やり方を教えていただけたら。。。。最高です。
使い方のシーンとしてはどのようなシーンでしょうか?ご教示いただけましたら動画作成も検討いたします!
ちょうど必要な動画だった人が多くてびっくり。かくいう私もその一人。ただしFBのメッセンジャー用です。たぶん要領は一緒ですよね?
よくconda とpip混ぜるな危険とありますが
Jupyter labでpip使う注意点ありますか?
いつも本当に分かりやすくて、興味がどんどん湧いてきて嬉しいです。
何よりデザインがおしゃれで素敵です(*´ω`*)
宜しければ教えていただきたいのですけど、動画編集には何のソフトを使われているのでしょうか?
ありがとうございます!
デザインにもちょっとこだわって作っているので嬉しいです!
編集には、AdobeのPremiere proを使用しております。アニメーションにはAfter Effectsを使うこともあります。
勉強になります!
15:00〜質問なのですが、
三行目に対して↓
TypeError: unsupported operand type(s) for / :
'ste' and 'str
というエラーが出ました。
打ち間違えですかね?それともコードが変わったのでしょうか?
9:08
他のサイト見ててもできなくて、この動画に行きついたらこの説明のおかげで半角スペースがあることに気づけました!
ありがとうございましたm(_ _)m
ほとんど知識がないので自分のLINEに届くだけでも楽しかったです!!
質問なのですがこういったものはPCを常につけっぱでないと自動でできないのですか?
多分コードをネット上において実行する形になるのかよくわからないので簡単に教えていただけたら嬉しいです。
自動化の動画も今から見させていただきますね!!
つけっぱなしでないとできないです。
だけど、AWSなどのサービスを利用すると1000円以内で24時間つけっぱなし状態にすることができます。
それについては動画も作りますね!
返事ありがとうございます!
やっぱりそうなのですね...楽しみにしてます。
これからも更新頑張ってください!!
いつも大変役に立つ動画ありがとうございます。画像なのですが、動画にある同じディレクトリとはjupyter labにあるディレクトリでしょうか?どこに画像を保存して、何処から画像を引っ張ってくるのかご教授頂けると幸いです。宜しくお願い致します。
ご視聴ありがとうございます!
そうですね、その通りで、jupyter labのファイルと同じディレクトリにある画像を選択しました。
他のディレクトリでしたら、そのパスを含めて指定すればOKです。
ちょっと説明不足でしたね…失礼しました!
Pythonなどのプログラミングで
PaSoRiとExcelの互換が
出来るのか気になります。
pip をインストールすると、もともとのanaconda がインストールしているものと重複し
競合してしまうと聞いたんですが、キノコードさんの通りにやっていればいいですか?
それと、pipって何度もインストールしてはいけないんですか?
私は、anaconda と、VScode のみインストールし、jupiter labを使ってます。
お陰様で、自分のLINEにメッセージ、画像送れました。ありがとうございます😭
携帯に、mp3のファイルを送りたいのですが、どうしたら出来ますか?
いつかRUclipsお願いします🤲
プログラムだけでなく、プレゼンの勉強にもなります。
意外なコメントです!参考までにどんなところがそう思われましたか?
返信ありがとうございます。
今回の動画では、難しい言葉を使わずに何できるかを興味を引く例題を提示して、『自分だけの秘書』とキーワードを提示している点等、システムを作った後の説明などが勉強になりました。
spotifyのAPIも扱って見て欲しいです!!日本語で解説してる人がいません(泣)
Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.") って出てしまいます・・・
この動画を見てまた一人、新しくエンジニアが生まれるのであった
カッコいい!そして嬉しいです!
いつも役立つ動画ありがとうございます!一つだけお願いというか、余力があれば検討していただきたいのですが、私は通勤時間の空き時間に動画を見ていて、その時、一つの動画が2,3時間だと通信制限が気になって見るのも気が引ける部分があります。もう少し小切れにしていただいた動画も見たいです。
2~3時間の長い動画には、必ず細切れの動画があります。そちらもぜひご活用ください!
Macに入っている写真(iPhoneで撮った)をどうしたら指定して送ることができますか?
とてもわかりやすい動画ありがとうございます。LINEが動かせてワクワクします。ただ、
requests.post(api_url, headers=TOKEN_dic, data=send_dic, files=image_dic)を2回実行するうち、1回目はResponse [200]となり、LINEに情報が送られるのですが、import datetimeの後に実行する2回目のrequests.post(api_url, headers=TOKEN_dic, data=send_dic, files=image_dic)では、Response [400]となってしまいます。どこをチェックすればいいでしょうか。
複数の画像を1度に送ることは出来ますか?
非常に勉強になります。ありがとうございます。
10:11 LINEでメッセージの通知を送信の所で引っかかりましたが、原因はわかりました。
6:45. ap_urlと定義していたのですが
10:11 api_urlと' i 'を追加して定義してしまったのが原因でした。
NameError: name 'api_url' is not defined
エラーの内容を見て修正するのも勉強になりました。
自己解決すばらしいです!!
エラーの内容からデバッグできるようになることは、この先必要なスキルです。
そしてエラーを恐れずにコードを書くこともよいと思います!
LINEのイベント機能を操作することはできるのでしょうか?
Anaconda環境でもpipを使ってもいいのでしょうか?
condoコマンドを用いないと環境が壊れてしまうと聞いたので質問させて頂きました。
最近その問題に苦しんだ者です。
自分も完全には理解できていませんが、condaでインストール済のパッケージをpipでもインストールすると環境が壊れるみたいです。
それぞれのインストール済パッケージは、「conda list」「pip list」で確認できます。
conda環境であれば、基本はconda installをするのが無難らしいです。
私も初心者なので参考程度に…
ちょうどそのことに関する
Qiita記事を書いたことがあったので、
URLを載せておきますねー。
qiita.com/SeiyaSunapro7th/items/b98783c18fdb7d65c151
Anacondaは便利ですが、自分が必要としないライブラリもインストールされてしまうデメリットもあります。
もし1つ1つインストールすることに抵抗がなければ、
venvで仮想環境を構築し、pipのみを使ってライブラリをインストールするというのもありかと思います。
私も駆け出しエンジニアですが、
参考になれば幸いです。
10:25 Lineに通知は来たのですが、の出力ができません。
IDLEでやっているのですが、これが原因でしょうか。。
最近チャンネル登録をしました。すごくわかりやすいです。どのような順番でpythonの動画を見ていけば効率がいいでしょうか?メンバーになればその辺の情報いただけますか?
登録ありがとうございます!
なにをやりたいかにもよりますが、
Python超入門コース→pandas入門コース、と見ていただくのがおすすめです。
その後はやってみたいレッスンをご視聴ください!
メソッドや関数についての詳細な説明は「毎日Python」で取り扱っていますので、ピンポイントで知りたい場合にご活用いただければと思います。
メンバーシップは、あくまで応援という位置付けですので、ご了承くださいませ。
突然のメッセージ失礼します。
linenotifyの画面でline個人アカウントを指定すると「○○と連携が完了しました。」と
line画面上に表示されるかと思います。この連携完了メッセージと共にオリジナルのテキストを
送信したいのですが、どのように実装を行えばよいでしょうか。
もしご存じのことがあれば、ご教授のほどをお願いいたします。
LINE通知を送るのコードを書いた後に、200と出て自分のLINEに通知は来るのですがその直後に連携が解除されましたと出ます。
なぜでしょうか
これはAnacondaでなくても、VS CODE利用してもいいですか?
もちろんです!
スケジュール管理アプリの作り方とかはできないですかね。。
todoリストではないですよね?
@@kinocode 大学の授業設定や課題の管理までできたら最高すぎます🙇♂️🙇♂️
今の大学生に使える授業課題管理アプリを学習できたら嬉しいです!!
正直、何を作ればいいかわからないと言うよりも、作りたいものはたくさんあってもどこが間違ってるのかわからないって方が圧倒的に多いんだが・・・
画像添付のところ(14:20あたり)でエラーが出るのですが、原因としてどういった可能性が高いでしょうか?
どのようなエラーかわからないので推測ですが、
12:14 以降で間違いがあるのだと思います。
特に「imageFile」のFが小文字でもダメです。ご確認ください!
==========
#画像ファイルのパスを指定
image_file = './test.png'
#バイナリデータで読み込む
binary = open(image_file, mode='rb')
#指定の辞書型にする
image_dic = {'imageFile': binary}
#LINEに画像とメッセージを送る
requests.post(api_url, headers=TOKEN_dic, data=send_dic, files=image_dic)
@@kinocode ありがとうございます!全力で原因究明しようと思います。
requests.post(api_url,headers=TOKEN_dic, data=send_dic)
の所で実行しても何も起きません。
エラーが出るわけでもなく
も表示されません…
動画を見ると「post」の文字は青で「()」が緑「=」が紫?色になっていますが、自分は黒で表示されてます。
この辺がおかしいのでしょうか?
エラーも出ないのですか・・・
では..、こちらからサンプルコードがダウンロードできますので、比較なさってみてください!
kino-code.com/pandas_course_read_write/#toc20
@@kinocode
キノコードさん返信ありがとうございます。
よく見たらセルの横の行番号(?)が表示されていなかったので別のセルで実行したらできました。ありがとうございました。
You Tube応援しています。
なんと。実行漏れでしたか!
コードは正しかったようで、おめでとうございます!
ありがとうございます、2021年もお互いがんばりましょう!
動画拝見しました!
実際にやってみたらメッセージは遅れたんですけど画像を送ることができません。
何度見ても画像のパスは合っていてエラーは起きないのでなおさら理由がわかりません。
考えられることは何かありますか?
例えば同じディレクトリ内に画像がないといけないなどありますか?
ファイルパスを正確に指定できていない可能性はありますね。
他のディレクトリにある画像でしたら、フルパスで指定すると間違いないかと思います。
@@kinocode 画像を右クリックして「パスをコピー」って出てくるやつでしょうか?
ドライブ名やユーザー名まで入っているようでしたら、そうですね!
※Macの場合は右クリックでoptionキーでフルパスがコピーできます。
@@kinocode 返信ありがとうございます!
元々そのパスでやっていたのでなぜ画像が送られないのかわかりませんね😭
他に考えられる理由は何かありませんか?
10:44 の時401が出た場合どうしたら治りますか?
アクセストークンが無効というエラーなので、変数に代入した値に間違いがないか、ご確認ください!
動画では、変数TOKEN_dicですね。
TOKEN_dic = { 'Authorization' : 'Bearer' + ' ' + TOKEN}
「' '」このスペースは半角スペースです。(08:16)
TOKENは04:32をコピペです。(06:37)
いつもたのしく勉強させてもらってます。
どなたかが質問してたのですが消えているので質問させてください。
動画内のコードでのエラーが出るのですが、何が原因でしょうか。
自分でもググってみたのですが、答えが見つからない状態です。
いつもご視聴ありがとうございます!
変数api_urlに誤りがないかご確認くださいませ〜!
余計なスペースや余計な文字が紛れ込んでいるのかもしれません。
api_url = notify-api.line.me/api/notify
@@kinocode 返信ありがとうございます。
確認したところ、仰る通り誤りがありました。。。
にしてもなぜそんなところが。。
とにかく解決して無事メッセージが届くようになりました!
ありがとうございます。
今後も楽しみにしています。頑張ってください!
突然のメッセージ失礼します。
slackにニュースを自動的に通知できるような仕組みがあるときいたのですが、教えていただきたいです。
自動化できる仕組みをもっともっと知りたいです。よろしくお願いします🥺
ありがとうございます!今、SLACKの動画については着手を始めました。少々お待ちください。
ずっと400エラーです。
他の方の方の動画の通りだと実行できます。
400が返ってきた場合はリクエストが不正ということです。
設定した変数のapi_url、TOKEN_dicとsend_dicが正しく代入されているか、確認してみてください!
一番間違えやすいのは、「TOKEN_dic = {'Authorization': 'Bearer' + ' ' + TOKEN}」ここです。
14:18 頃の画像ファイル送信を実行時に
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in
6 image_dic = {'imageFile': binary}
7 #LINEに画像メッセージを送る
----> 8 requests.post(api_url, headers=TOKEN_dic, data=send_dic, files=image_dic)
NameError: name 'requests' is not defined
となり、画像ファイルが定義できないのはなぜでしょうか?
---------
import requests
---------
ここが実行されていないのかもしれません!
質問です。
requests.post(api_url, headers=TOKEN_dic, data=send_dic)
この文を実行した際に と出ます。動画の通りにトークンを発行したつもりなのですがアクセストークンが無効がとなっています。
何度かトークンの再発行もしているのですが、変化がありません。
もしよろしければこのエラーの解決策を教えて下さい!!
変数TOKEN_dicをご確認くださいませ!
TOKEN_dic = {'Authorization' : 'Bearer' + ' ' + TOKEN} # TOKENは発行されたトークン
動画内でも説明しましたが、「'Bearer'」のあとに半角スペースが必要です。「' '」ここに半角スペースがひとつなので、スペースなしになっていないか、全角スペースになっていないか、確認してみてください!
@@kinocode 返信ありがとうございます!
'Bearer ' + ' ' + TOKEN としていたためエラーとなっていました。
次は決まった時間に通知が来るようにしてみます!
これからも動画楽しみにしてます!頑張ってください!!
あーーーーーー401になる
話し方おっそ
私は、TOKENTOKEN_dic ={'Authorization':'Bearer' + ' ' + TOKEN}のコードの自分のタイプミスがあっただけで、401が返ってきて、1時間以上、あれこれ調べました。皆さん、タイプミスには気を付けてください。
わかります。タイプミスは悲しくなりますよね...
しかし気づいた時のスッキリ感!
解消できたようでよかったです。