【LINEチャットボット作成】毎朝美女からメッセージが届く方法をわかりやすく解説!Python×Messaging API×GitHub Actions
ฝัง
- เผยแพร่เมื่อ 26 ส.ค. 2024
- Python×Messaging API×GitHub ActionsでLINEチャットボットを作成します!
今回は、毎朝美女からメッセージが届くチャットボットの作成になります。
LINEが提供するMessaging APIを用いてチャットボットの土台を作り、最新のワークフロー自動化ツールでもあるGitHub Actionsを用いて定期実行する仕組みを作りました!
非常に実践的かつ面白い内容となっております!
■使用ファイル(yml)
下記にGitHub Actionsで使用するymlファイルを格納しました。
drive.google.c...
■APIについて詳しく知りたい方向け
「APIについてよくわからない!」という方は下記動画をご視聴の上、本動画に臨んでください!
PythonでぐるなびAPIを扱おう
• PythonでぐるなびAPIを扱おう | P...
■Python活用シリーズ
ビジネスなどでも使えるPythonの便利な活用方法をお伝えしていきます!
PythonでGoogleスプレッドシートの情報を抽出してみた
• PythonでGoogleスプレッドシートの...
PythonでGmailを自動送信する方法
• 【業務自動化!】PythonでGmailを...
PythonでぐるなびAPIを扱おう
• PythonでぐるなびAPIを扱おう | P...
PythonでTwitterAPIを扱おう
• PythonでTwitterAPIを扱おう|...
Pythonで楽天トラベルAPIを使用した宿泊先リスト作成方法をわかりやすく解説!
• Pythonで楽天トラベルAPIを使用した...
■ Twitter
/ 03imanyu
■ Udemy
www.udemy.com/...
#Python #LINEチャットボット #MessagingAPI
おかげさまでできたラインボットをさらに改変して進化させようと思います。本当にありがとうございました。
おぉ、素晴らしいですね!!☺️
いまにゅ先生お疲れ様です。
おくらばせながらこちらの動画で学習させて頂きました。
LInebotに関しては今まで色々とチャレンジしたのですが、どうしてもうまく作動せずで諦めていましたが、
こちらの動画で初めてプログラムが動作し、その上自動実行までできました!
めちゃくちゃ嬉しいです!
加工して何か作ってみたいと思います。
いつもありがとうございます、勉強になりました。
おぉ、無事実行できたようで良かったです!!
こちらこそありがとうございます!!
できました!とってもわかりやすかったです!ありがとうございます!
無事できたようで良かったです!!
とてもわかりやすい動画で自分でも実装できました。ありがとうございます。
ちなみに複数アカウントへメッセージ送信しようとすると何か別で設定必要でしょうか?
関数でbroadcastあるんですね!解決しました。
毎朝最高の目覚めになりました🥰
いまにゅさんが解説してて助かった。
毎度助かります。
毎回難易度の設定と解説のバランスが素晴らしくてとても勉強になります。ほとんどの動画は超初心者に向けで実務に使うには程遠いものだったり、それ以上を求めるとなると専門的な書籍を読みこなす必要があったり、なかなか丁度よいものがなくて困ってました。
プログラミングを実務に生かそうと思ったら、言語の使い方そのものよりgitだっりCIだったりツールの勘所が分からないとなかなか難しいのが現実ですが、いまにゅさんの動画はそこをピンポイントでついてくれるので毎回楽しみです。
素敵なコメントありがとうございます!😭
おっしゃっていただいたように、初学者向けのコンテンツであっても楽しく実践的な内容にできるよう中身を考えております!
それを感じ取っていただけたようで嬉しいです!
20:00 エラーも起きないのにプッシュ通知が来ません、、、実行しても何もならないです!!
gitが出来ないと途中までしか出来ないですね
勉強してまたきます
動画拝見させていただきました!
大変参考になりました!
実行環境が悪いのか、ファイルが見つからない状態ですががんばります😂
コメントありがとうございます!
すいません、概要欄に貼り忘れておりました、、、
下記にymlファイル格納していますのでご確認お願いします!!
drive.google.com/drive/folders/1H7nudVUUQguGoh_4jT_JQgHlfynZ4aCO?usp=sharing
@@imanyu_programming
わざわざありがとうございます(´;ω;`)
自分で写したものに自信がなかったので助かりますm(_ _)m
毎回とてもわかりやすく、かつ面白い内容の動画で助かります
コメントありがとうございます!!
そのようにおっしゃっていただき嬉しいです😂
面白くためになる講座をどんどん配信していきます!
git init でターミナルを実行するとエラーが出るのですが、いまにゅさんわかりませんか!?
とてもためになる動画いつもありがとうございます。
一つ質問があるのですが、今回の動画で作成したラインチャットボットは、他人がこのチャットボットアカウントを友達登録した場合には、その人には配信されないのでしょうか?
私の作製したものでは、
もちろん配信されますよ〜
push_messageの引数にUSER_IDを使用してるため、jsonファイルに保存した自分のユーザーIDに対してのみ配信されるのではないのですか??
友達には送信されてないみたいで、、、
わかりやすい動画ありがとうございます!
質問ですが、ジュピターラボを使用しないとできないでしょうか?
VSCodeのみでは開発できないですか?
コメントありがとうございます!!!
いや、VSCodeでも全く問題ないですよ〜!
とてもためになりました!
質問なのですが、自分にしかチャットボットからラインが来ません!
User_IDのところを変更すれば可能なのでしょうか?
いつも動画拝見させていただいております。ありがとうございます。
質問です。
push_messageではなくreply_messageを使うとき、どのようにしてuserの発言を取得することができますでしょうか。
下記の記事を参考にしていただければと!
miyabikno-jobs.com/record-input-slackbot/
git add .の際に、warningとエラーが大量に出てくるんですけど、どうしたら良いでしょうか?
いまにゅさん。いつもわかりやすく学習をさせていただいています。有料級商材をこのようにTH-camで見れて、とても幸せです。
こちらの動画でも、チャットBOTはうまく動作させることができました。
そこで、質問ですが、動画の入り出しに言われていた「一方通行型」と言うものに関して、作成してみたいと感じたのですが、一方通行型についての解説等は、今後、UPする予定はあるのでしょうか。
大変お忙しい中で、このような素朴な質問をしてしまい申し訳ないのですが、とても気になってしまったのでコメントさせていただきました。よろしければ、ご回答お待ちしています。
申し訳ございません。言葉足らずでした。
先日、いまにゅさんの動画「Pythonで商品再入荷やWebページの更新を自動検知するプログラムの作成
」を拝見しました。そこで、更新されたら、ラインで「更新した」などの通知がいくようにできないのかと、考えています。
@@peperonperopero 申し訳ございませんが、直近作成する予定はないです、、、!
一方通行型の方が簡単なので是非調べてみてください!
@@imanyu_programming
お返事ありがとうございます。
簡単なのでしょうか…
簡潔に「TRUEで(更新されました。)となった時に、else構文で動かすようにする」
という安易な考えでよろしいのでしょうか。
いつも動画ありがとうございます。
質問させてください。
42:13あたりのgit Actionを実行すると下記のようなエラーが出ます。
原因は何が考えられますでしょうか?
Run # main.pyの実行
Traceback (most recent call last):
File "main.py", line 5, in
"execution_count": null,
NameError: name 'null' is not defined
Error: Process completed with exit code 1.
※pyファイル名はmain.pyでプッシュしてあります。
main.pyの5行目と言われているので、そのあたりが間違っていないか確認してみてください。
@@imanyu_programming
ご回答ありがとうございます。
main.pyを見直し、書き直してみましたが、ipythonにてmain.pyを実行すると下記のようなエラーが出ます。
python main.py
Traceback (most recent call last):
File "main.py", line 30, in
"execution_count": null,
NameError: name 'null' is not defined
なお、main.pyの内容は下記の通りです。
import json
from linebot import LineBotApi
from linebot.models import TextSendMessage
file = open('info.json','r')
info = json.load(file)
CHANNEL_ACCESS_TOKEN = info['CHANNEL_ACCESS_TOKEN']
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
USER_ID = info['USER_ID']
messages= TextSendMessage(text="テスト")
line_bot_api.push_message(USER_ID, messages=messages)
if __name__ == "__main__":
main()
@@josephmickey737 このmain.pyは動画通りjupyterのother→text fileで作成されたファイルをrenameして作りましたか?
notebookのpython3からmain.pyを作成するとこのようなエラーが起きることがあるみたいです
ありがとうございます
こちらこそご視聴いただきありがとうございます!
ありがとうございます!
こちらご視聴、コメントいただきありがとうございます!!
このありがとうございますにいろいろな思いが込められてそう
プログラミング超初心者です。この動画を見ながらコードを打ち込んでいたのですが、19分ら辺のコード実行で躓いてしまったのでコメントで失礼します…💦
『if __name__ == “main”:
main()』
を打ち込むとエラーが出てしまいます。
エラー文は「LineBotApiError」から始まり、数十行のエラー文、1番最後の方にstatus_code=401とあります。
コードの書き間違いはしっかりチェックしたのでないと思いますが、どこに原因があるか分からず行き詰まってしまいました…
MacBookを使用しています。可能性として原因はどこにあるかのヒントやアドバイスほしかったです😭
19:08 ここが何度やってもエラーになってしまうのは何か理由がありますか?
みつからないというようなエラー文が出てしまいます…😭
またこういった時、どのように検索すると解決策が見つかりますか?
分かりやすい動画ありがとうございます
質問ですが 、13:08 from linebot import LineBotApi とすると
from collections import Mapping, MutableMapping
ImportError: cannot import name 'Mapping' from 'collections'(C:\Users\~~~\__init__.py)
というエラーが出てしまいます。どうすればよいのでしょうか。
エディターにSpyderを使っているのですが、Spyderとgitを連携する手順がネットにあまり載っておらず、行き詰っております…
私はSpyder使ったことがないのでわからないです、、、
自分以外の人にもメッセージが届くようにしたいのですが可能でしょうか?
作ったMessage APIのアカウントのバーコードを他の人に読み込ませて友達追加させたのですが、私にしかメッセージが届かないようです。
17:00 ホントは嬉しいのに強がらないでください。
な、なんで、わかったんですか。。。。
12:36 にてNameError: name 'file' is not defined になります。考えられる点はありますでしょうか?スペル等は何度も確認しているのですが。。。
頂いた情報だけではわかりません、、、
@@imanyu_programming 動画ではダブルクォーテーションに直し、エラーが改善されていますがこちら動画のものと同じ状態にしてみて
NameError Traceback (most recent call last)
in
1 fire = open('info.json', 'r')
----> 2 info = json.load(file)
NameError: name 'file' is not defined
と表示されるのです。。。
@@restia6998 shift enterで確定してないのでは?
LINEにメールを送るところまですんなり行きました😊いつもわかりやすくて助かってます。
ただ25:43のgit initですでにGitをインストールしているのですが、ターミナルに入力すると”git : the term “git” is not recognized as the name of a cmdlet, function, script file, or operable program” となって認識されません。もう少しGitを探ってみます・・・
git initはGitの初期化になります!インストールは別途行う必要がありますが、Macですかね?
@@imanyu_programming 回答ありがとうございます。私はWindowsを使用してます。
一応progateさんのHPをもとにgit-for-windows.github.io/からgitはインストール済みです。
Anaconda PromptやPowerShell等で試してみていただけますでしょうか?
@@imanyu_programming ご連絡ありがとうございました。下記2つで対応できました。
❶Qiitaの記事にあった“環境変数からPathを通す”の記事を真似たらコマンドプロンプトでもいけました。よくわからないですが動いているから“ヨシッ”です
❷git add . でもエラーが出たのですが、ターミナルで cd ディレクトリで作業中のフォルダを選択したらいけました。(Jupyter Codeの作業場所とファイルの保管場所が違ったため)
あと一息だったのですが、最後の❶ymlファイルをコピペ、❷38行目以下の似たような記載があるところを削除、❸scheduleとcronの前に#をつけてPush を記載して実行すると Run scriptでエラーが発生しました。pythonでmain.pyを実行するとLINEには連絡が行くのでymlファイルで何かトラブルが起きていると思います。
メッセージに返信してくれるようなbotはどのようにすればできますか?
この辺りが参考になるかと!
www.casleyconsulting.co.jp/blog/engineer/3028/
このbotって他の人が追加しても使えますか??
使えます!
@@imanyu_programming なぜか自分使えないのですが、なんか間違ってたりとかしますかね、、、?
難しすぎる、、
これで寂しくないな!
間違い無いですね!!笑
無料でしょうか?
無料ですよ〜
16:55 ほんまは嬉しいんとちゃいますん?
38:40- メッセージきてる?
5:44
git hubのところ全く同じ操作してるのに、全く違う動きするの吐き気する
最初のfrom linebot.modelsでVSコード上に波線が出てしまい、
ターミナル上で実行すると「ImportError: cannot import name 'LineBotApi' from 'linebot' (/Users/hn18/Documents/Dogfight-AI/linebot.py)」
と表示されてしまい、インポートできていなそうなのですが、対処法を教えていただけますでしょうか。。。。
いまにゅさんよろしくお願い致します。視聴者の方でもご存知の方いらっしゃいましたら、ぜひ教えて下さい!お願いします!
設定時間と実際に送られてくるタイミングに大分ズレが生じるのは何故でしょう...😭
どれくらいのズレですかね。。。?
もし○時間のズレとかであれば、UTC(協定世界時)に合わせた時刻設定ができていない気がします!
@@imanyu_programming
いや、何十何分とかのズレです...
まあこれはこれでドキドキ感増すのでいいかもしれません笑
もう少しリサーチしてみます
なるほど。笑
なぜだろう、、、タイムゾーンのズレでもない気がしますね、、、
@@imanyu_programming
僕のPCがおかしいんですかね笑
でも一応完成したので楽しませてもらいます!笑ありがとうございました!