Open onopon opened 3 years ago
ログ
6694 2021-05-29 21:09:26.700516 magu Traceback (most recent call last):
6695 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
6696 rv = self.dispatch_request()
6697 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/flask/app.py", line 1598, in dispatch_request
6698 return self.view_functions[rule.endpoint](**req.view_args)
6699 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/flask_login/utils.py", line 272, in decorated_view
6700 return func(*args, **kwargs)
6701 File "/home/users/2/cocotte.jp-pentoile/web/spotto_league/application.py", line 188, in admin_league_finish
6702 return PostAdminLeagueFinishController().render(request, league_id=league_id)
6703 File "/home/users/2/cocotte.jp-pentoile/web/spotto_league/spotto_league/controllers/base_controller.py", line 60, in render
6704 return loop.run_until_complete(self.get_layout(request, **kwargs))
6705 File "/usr/local/python/3.7/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
6706 return future.result()
6707 File "/usr/local/python/3.7/lib/python3.7/asyncio/coroutines.py", line 120, in coro
6708 res = func(*args, **kw)
6709 File "/home/users/2/cocotte.jp-pentoile/web/spotto_league/spotto_league/controllers/admin/league/post_league_finish_controller.py", line 70, in get_layout
6710 PonnoBot.push_about_finished_league(self._league.id)
6711 File "/home/users/2/cocotte.jp-pentoile/web/spotto_league/ponno_linebot/ponno_bot.py", line 42, in push_about_finished_league
6712 LineBotApi(settings.LINE_BOT_CHANNEL_ACCESS_TOKEN).push_message(channel, message)
6713 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/linebot/api.py", line 148, in push_message
6714 '/v2/bot/message/push', data=json.dumps(data), timeout=timeout
6715 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/linebot/api.py", line 1269, in _post
6716 self.__check_error(response)
6717 File "/home/users/2/cocotte.jp-pentoile/.local/lib/python3.7/site-packages/linebot/api.py", line 1310, in __check_error
6718 error=Error.new_from_json_dict(response.json)
6719 linebot.exceptions.LineBotApiError: LineBotApiError: status_code=429, request_id=fb57cf23-cb9d-4d17-9901-37da6b556552, error_response={"details": [], "message": "You have reached your monthly limit." }, headers={'Server': 'openresty', 'Date': 'Sat, 29 May 2021 12:09:26 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'x-line-request-id': 'fb57c f23-cb9d-4d17-9901-37da6b556552', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'cache-control': 'no-cache, no-store, max-age=0, must-revalidate', 'pragma': 'no-cache', 'e xpires': '0', 'x-frame-options': 'DENY'}
Line Notify という仕組みを発見。 https://notify-bot.line.me/doc/ja/
client_id, redirect_uri, state を入力し、上記のurlにweb上でアクセスし、通知を行いたいグループを選択し進む。
設定したリダイレクトurlにリダイレクトすると
https://redirect_uri/?code=XXXX&state=XXXX
のように、codeを取得できるので、それをメモする。
その後、
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'grant_type=authorization_code&code=XXXX&redirect_uri=XXXX&client_id=XXXX&client_secret=XXXX' https://notify-bot.line.me/oauth/token
の code, redirect_uri, client_id, client_secret を入力し、curlを叩く。
{"status":200,"message":"access_token is issued","access_token":"XXXX"}
status: 200 であれば、アクセストークンが取得できる。
擬似LINE API ERROR
from linebot.models.error import Error
raise LineBotApiError(429, {}, error = Error(message = "You have reached your monthly limit."))
line notify確認URL(clientIDとか) https://notify-bot.line.me/my/services/
LINE botの衝撃の事実 無料で1ヶ月1000回無料で飛ばせると思ってたけど、実は1000回ではなく1000人に周知したら終わる状況だった。 SPOTTOはぽのちゃんを除き35人いるので、1回の通知で35人に周知したことになっていて、実質月に28回しか通知飛ばせない状況でした^q^
これの原因は、締め切りの近い練習会を発言しようとしたタイミングで、今月967回周知したことになっていて、
967 + 35 > 1000 となってしまうためプッシュ通知が行われなかった模様^q^
6月からは、 1000 / 35 = 28.57... となるので実質28回push通知送ったら終わりとなってしまう。
ので、リプライで通知するようにするしかなさそう。