dblock / discord-strava

Connect Strava to Discord.
https://strada.playplay.io
MIT License
2 stars 5 forks source link

403 on user registration with DMs from servers disabled #16

Closed dblock closed 4 months ago

dblock commented 4 months ago

When the user chooses to only allow friends to send DMs (DMs from servers disabled in Privacy), registration causes an error. The error message should be shown and an explanation included that it can safely be ignored.

image

[discord-strava] [2024-05-09 13:54:05] I, [2024-05-09T13:54:05.990829 #1]  INFO -- : Connected team=_id=..., guild_id=..., guild_name=name, user=user_id=..., user_name=..., athlete_id=xyz
[discord-strava] [2024-05-09 13:54:06] E, [2024-05-09T13:54:06.542776 #1] ERROR -- : Faraday::ForbiddenError: the server responded with status 403 ({"message"=>"Cannot send messages to this user", "code"=>50007})
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/response/raise_error.rb:20:in `on_complete'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/response.rb:12:in `block in call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/response.rb:65:in `on_complete'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/response.rb:11:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/rack_builder.rb:153:in `build_response'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/connection.rb:492:in `run_request'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/connection.rb:279:in `post'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/lib/discord/server.rb:26:in `http_method'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/lib/discord/server.rb:8:in `post'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/lib/discord/messages.rb:15:in `send_message'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/lib/discord/messages.rb:28:in `send_dm'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/models/user.rb:133:in `dm!'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/models/user.rb:94:in `connect!'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/api/endpoints/users_endpoint.rb:18:in `block (2 levels) in <class:UsersEndpoint>'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `block (2 levels) in generate_api_method'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.6.1/lib/active_support/notifications.rb:182:in `instrument'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:58:in `block in generate_api_method'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:341:in `execute'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:267:in `block in run'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.6.1/lib/active_support/notifications.rb:182:in `instrument'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:247:in `run'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:322:in `block in build_stack'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:35:in `call!'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:28:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/error.rb:39:in `block in call!'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/error.rb:38:in `catch'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/error.rb:38:in `call!'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:28:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-2.2.8.1/lib/rack/head.rb:12:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:231:in `call!'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/endpoint.rb:225:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router/route.rb:58:in `exec'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:116:in `process_route'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:72:in `block in identity'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:91:in `transaction'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:70:in `identity'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:55:in `block in call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:132:in `with_optimization'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/router.rb:54:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/api/instance.rb:167:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/grape/prepend.rb:10:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/api/instance.rb:71:in `call!'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/api/instance.rb:66:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/grape-1.4.0/lib/grape/api.rb:68:in `call'
[discord-strava] [2024-05-09 13:54:06]   /workspace/discord-strava/api/middleware.rb:35:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-server-pages-0.1.0/lib/rack/server_pages.rb:46:in `serving'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-server-pages-0.1.0/lib/rack/server_pages.rb:36:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-robotz-0.0.4/lib/rack/robotz/middleware.rb:20:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-2.2.8.1/lib/rack/etag.rb:27:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-2.2.8.1/lib/rack/conditional_get.rb:40:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-2.2.8.1/lib/rack/content_length.rb:17:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-rewrite-1.5.1/lib/rack/rewrite.rb:24:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/rack-cors-2.0.2/lib/rack/cors.rb:102:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/instrumentation/middleware_tracing.rb:99:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/tracer.rb:435:in `block (2 levels) in thread_block_with_current_transaction'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/tracer.rb:357:in `capture_segment_error'
[discord-strava] [2024-05-09 13:54:06]   /layers/heroku_ruby/gems/vendor/bundle/ruby/2.7.0/gems/newrelic_rpm-9.4.2/lib/new_relic/agent/tracer.rb:434:in `block in thread_block_with_current_transaction'
dblock commented 4 months ago

Fixed in https://github.com/dblock/discord-strava/commit/e94bc4e8cf30fd449ac22851335b24708ba56dfb.