質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

1回答

1128閲覧

pythonでチャットボットを作ろうとしているが、エラーが発生している

tec-koji

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2021/09/16 20:24

slackで、現在時刻を知らせてくれて、時間帯によって異なるメッセージを発するボットを作ろうとしています。
times.pyのほうで、

from slackbot.bot import respond_to from slackbot.bot import listen_to import datetime import time @listen_to('いま何時?') def res_time(message): dt_now=datetime.datetime.now() time_str=dt_now.strftime('%H時%M分ですよ。') message.send(time_str) if dt_now.hour==12:    res= "そろそろお昼食べたいね。" elif dt_now.hour==15:    res= "おやつ食べたいか?" else:    res= "少し休んだら" time.sleep(1) message.send(res)

と入力しました。これを、プログラムを実行させるファイルrun.pyで、

from slackbot.bot import Bot def main(): bot=Bot() bot.run() if __name__ == "__main__": main()

によってrun module をかけたところ、

Failed to import plugins.time Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/slackbot/manager.py", line 60, in _load_plugins import_module(module) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 846, in exec_module File "<frozen importlib._bootstrap_external>", line 983, in get_code File "<frozen importlib._bootstrap_external>", line 913, in source_to_code File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/Users/koji/Desktop/plugins/time.py", line 15 res="そろそろお昼食べたいね。" ^ IndentationError: expected an indented block

というエラーが発生してしまいました。
これは何が原因でこのようなエラーになっているのでしょうか?
また、どうすれば解決しますか?
どなたかアドバイスお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

以下の部分の、resの直前にはどれも3つの全角空白(U+3000, IDEOGRAPHIC SPACE)が入っています。Pythonのインデントに全角空白は使えません。

Python

1 if dt_now.hour==12: 2    res= "そろそろお昼食べたいね。" 3 elif dt_now.hour==15: 4    res= "おやつ食べたいか?" 5 else: 6    res= "少し休んだら"

Pythonのコードを書くときには、全角空白を判別可能なグリフ(字形)を持つフォントや、全角空白に色を付けて表示してくれるエディターを使う事をおすすめします、

投稿2021/09/16 21:20

編集2021/09/16 21:24
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tec-koji

2021/09/17 06:51

ありがとうございます!
Daregada

2021/09/17 08:01

質問していた問題が解決したのであれば、「解決済み」の状態にしてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問