

[RTa-technology/discord_dice_bot](https://github.com/RTa-
technology/discord_dice_bot/tree/87b0104bb3a72524777568312bfff4542700dc92)  
このプログラムを実行した結果Herokuでのデプロイは完了したのですが、Discordの方でオンラインになりません
(恐らくコードが間違っている可能性が大きい)。

HerokuとGithubを連携させており、Heroku上では `Build succeeded`
となる為エラーが起こっていないと思われました。しかしオンラインにならないため何か間違えていそうです。ただ、Github上ではエラーが発生している場所を特定する方法が不明でした。

[前回の質問](https://ja.stackoverflow.com/questions/65339/python%E3%81%A7%E3%81%AEbot%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E9%80%9A%E3%82%8A%E3%81%AB%E4%BD%9C%E3%81%A3%E3%81%A6%E3%82%82%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84-app-
not-compatible-with-buildpack)からコードを編集してGoogle Spread
Sheetの方にアクセスするのではなくリスト化したものからの読み込みを行っています。

コードが間違っている場合、どの部分が間違っているのか申し訳ないのですがわかりません。

可能であれば、どの部分が間違っているのかお教えいただければ嬉しく思います。

* * *

04/10 00:00 追記  
[このよう](https://github.com/RTa-
technology/discord_dice_bot/tree/c60fbd16f7fcd76031337e886bb65277a57189da)に編集しました。  
変更履歴

[code]

    bot
    の変数を
    client
    に変更
    
[/code]

しました。

結果 Herokuのlogでは

[code]

    2020-04-09T14:57:15.856251+00:00 app[worker.1]: Traceback (most recent call last):
    2020-04-09T14:57:15.856315+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/discord/client.py", line 312, in _run_event
    2020-04-09T14:57:15.856316+00:00 app[worker.1]:     await coro(*args, **kwargs)
    2020-04-09T14:57:15.856321+00:00 app[worker.1]:   File "trpg_bot.py", line 512, in on_message
    2020-04-09T14:57:15.856322+00:00 app[worker.1]:     input_msg = bot_startswitch(message).fixed
    2020-04-09T14:57:15.856366+00:00 app[worker.1]: AttributeError: 'NoneType' object has no attribute 'fixed'
    2020-04-09T14:57:21.096405+00:00 heroku[worker.1]: State changed from up to down
    2020-04-09T14:57:20.879678+00:00 app[api]: Deploy c60fbd16 by user XXXXX@gmail.com
    2020-04-09T14:57:20.879678+00:00 app[api]: Release v28 created by user XXXXX@gmail.com
    2020-04-09T14:57:33.000000+00:00 app[api]: Build succeeded
    
[/code]

となり、Botは起動しましたが、何も返信が返ってきません。

* * *

2020/04/09 23:49 追記

[code]

    2020-04-09T12:10:11.727817+00:00 app[woker.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/discord/client.py", line 312, in _run_event
    2020-04-09T12:10:11.727818+00:00 app[woker.1]:     await coro(*args, **kwargs)
    2020-04-09T12:10:11.727850+00:00 app[woker.1]:   File "trpg_bot.py", line 510, in on_message
    2020-04-09T12:10:11.727851+00:00 app[woker.1]:     if client.user != message.author:
    2020-04-09T12:10:11.727906+00:00 app[woker.1]: NameError: name 'client' is not defined
    2020-04-09T14:42:29.000000+00:00 app[api]: Build started by user XXXXXXXX@gmail.com
    2020-04-09T14:43:02.795195+00:00 heroku[woker.1]: State changed from up to down
    2020-04-09T14:43:02.717678+00:00 app[api]: Deploy 1a8e0369 by user XXXXXXXX@gmail.com
    2020-04-09T14:43:02.717678+00:00 app[api]: Release v23 created by user XXXXXXXX@gmail.com
    2020-04-09T14:43:15.000000+00:00 app[api]: Build succeeded
    
[/code]

とエラーが出ていたので、

[code]

    if client.user
    を
    if bot.user
    に変更し
    
[/code]

修正いたしました。


CC BY-SA 4.0
2020-04-08T13:48:35.023
65473
2020-04-09T15:08:33.663
2020-04-09T15:08:33.663
37812
37812
question
python discord
Discord.pyでの構文エラーが発生する


通りがかりですまないが、`Procfile`を見る限り、

[code]

    woker: python trpg_bot.py
    
[/code]

は `woker` ではなく `worker` ではないだろうか。`r` が抜けている。

[code]

    worker: python trpg_bot.py
    
[/code]

Herokuのフリープランは30分でスリープするのでこのボットが動き続けるかも定かではないが……。

また、どのような時もまずはHerokuのダッシュボードでアプリのページの「More :」メニューから「View
logs」を開き、起動後に期待するログを吐いているか確認してほしい。


CC BY-SA 4.0
2020-04-08T19:19:35.580
65476
2020-04-08T22:29:30.237
2020-04-08T22:29:30.237
19110
39557
65473
answer


python の場合、変数名の最初の文字に数字を使う事ができないのと、`.`(dot) を含めることができないので、例えば `4176.col_keys`
という変数名は syntax error になります。

\-- この回答は [metropolis](https://ja.stackoverflow.com/users/16894/metropolis)
さんの[コメント](https://ja.stackoverflow.com/questions/65473/discord-
py%E3%81%A7%E3%81%AE%E6%A7%8B%E6%96%87%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B#comment71753_65473)をコミュニティ
wiki として投稿するものです。


CC BY-SA 4.0
2020-04-08T22:30:43.040
65477
2020-04-08T22:30:43.040
19110
65473
answer