Intégration avec les chats

Je souhaite connecter l’intégration à un chat Telegram. J’ai créé un bot et ajouté le jeton dans les paramètres du plugin. Mais rien ne se passe, le bot ne réagit pas.
Sur le message de test dans le plugin, on reçoit une erreur 500. Merci de m’aider, s’il vous plaît.

Merci de vérifier /logs pour trouver l’erreur réelle à l’origine du 500 et de la partager, y compris la trace d’appel (backtrace).

Message (11 copies reported)

Net::OpenTimeout (Failed to open TCP connection to api.telegram.org|2001:67c:4e8:f004::9,149.154.166.110.final-destination.invalid:443 (execution expired))
lib/freedom_patches/final_destination_connect.rb:35:in ‘FinalDestinationTCPSocketPatch#open’
lib/final_destination/http.rb:20:in ‘FinalDestination::HTTP#connect’
app/controllers/application_controller.rb:458:in ‘block in ApplicationController#with_resolved_locale’
app/controllers/application_controller.rb:458:in ‘ApplicationController#with_resolved_locale’
app/controllers/application_controller.rb:1140:in ‘ApplicationController#ensure_dont_cache_page’
lib/middleware/omniauth_bypass_middleware.rb:35:in ‘Middleware::OmniauthBypassMiddleware#call’
lib/middleware/crawler_hooks.rb:13:in ‘Middleware::CrawlerHooks#call’
lib/content_security_policy/middleware.rb:12:in ‘ContentSecurityPolicy::Middleware#call’
lib/middleware/anonymous_cache.rb:431:in ‘Middleware::AnonymousCache#call’
lib/middleware/csp_script_nonce_injector.rb:13:in ‘Middleware::CspScriptNonceInjector#call’
lib/middleware/track_view_session_id_injector.rb:12:in ‘Middleware::TrackViewSessionIdInjector#call’
config/initializers/008-rack-cors.rb:14:in ‘Discourse::Cors#call’
lib/middleware/default_headers.rb:13:in ‘Middleware::DefaultHeaders#call’
config/initializers/100-quiet_logger.rb:20:in ‘DiscourseRackQuietAssetsLogger#call’
config/initializers/100-silence_logger.rb:29:in ‘SilenceLogger#call’
lib/middleware/enforce_hostname.rb:23:in ‘Middleware::EnforceHostname#call’
lib/middleware/request_tracker.rb:384:in ‘Middleware::RequestTracker#call’
lib/middleware/overload_protections.rb:18:in ‘Middleware::OverloadProtections#call’
lib/middleware/processing_request.rb:14:in ‘Middleware::ProcessingRequest#call’
lib/markdown_endpoint/vary_middleware.rb:10:in ‘MarkdownEndpoint::VaryMiddleware#call’

Backtrace

/usr/local/lib/ruby/3.4.0/socket.rb:68:in ‘Socket#connect’
/usr/local/lib/ruby/3.4.0/socket.rb:68:in ‘Addrinfo#connect_internal’
/usr/local/lib/ruby/3.4.0/socket.rb:141:in ‘Addrinfo#connect’
/usr/local/lib/ruby/3.4.0/socket.rb:753:in ‘block in Socket.tcp_with_fast_fallback’
internal:kernel:168:in ‘Kernel#loop’
/usr/local/lib/ruby/3.4.0/socket.rb:721:in ‘Socket.tcp_with_fast_fallback’
/usr/local/lib/ruby/3.4.0/socket.rb:661:in ‘Socket.tcp’
lib/freedom_patches/final_destination_connect.rb:35:in ‘FinalDestinationTCPSocketPatch#open’
net-http (0.9.1) lib/net/http.rb:1792:in ‘block in Net::HTTP#timeouted_connect’
timeout (0.6.1) lib/timeout.rb:296:in ‘block in Timeout.timeout’
timeout (0.6.1) lib/timeout.rb:304:in ‘Timeout.timeout’
net-http (0.9.1) lib/net/http.rb:1791:in ‘Net::HTTP#timeouted_connect’
net-http (0.9.1) lib/net/http.rb:1677:in ‘Net::HTTP#connect’
lib/final_destination/http.rb:20:in ‘FinalDestination::HTTP#connect’
net-http (0.9.1) lib/net/http.rb:1655:in ‘Net::HTTP#do_start’
net-http (0.9.1) lib/net/http.rb:1629:in ‘Net::HTTP#start’
net-http (0.9.1) lib/net/http.rb:2401:in ‘Net::HTTP#request’
rack-mini-profiler (5.0.0) lib/patches/net_patches.rb:19:in ‘block in Net::HTTP#request_with_mini_profiler’
rack-mini-profiler (5.0.0) lib/mini_profiler/profiling_methods.rb:51:in ‘Rack::MiniProfiler::ProfilingMethods#step’
rack-mini-profiler (5.0.0) lib/patches/net_patches.rb:18:in ‘Net::HTTP#request_with_mini_profiler’
plugins/discourse-chat-integration/lib/discourse_chat_integration/provider/telegram/telegram_provider.rb:117:in ‘DiscourseChatIntegration::Provider::TelegramProvider.do_api_request’
plugins/discourse-chat-integration/lib/discourse_chat_integration/provider/telegram/telegram_provider.rb:81:in ‘DiscourseChatIntegration::Provider::TelegramProvider.sendMessage’
plugins/discourse-chat-integration/lib/discourse_chat_integration/provider/telegram/telegram_provider.rb:159:in ‘DiscourseChatIntegration::Provider::TelegramProvider.trigger_notification’
plugins/discourse-chat-integration/app/controllers/discourse_chat_integration/chat_controller.rb:97:in ‘DiscourseChatIntegration::ChatController#test’
actionpack (8.1.4) lib/action_controller/metal/basic_implicit_render.rb:8:in ‘ActionController::BasicImplicitRender#send_action’
actionpack (8.1.4) lib/abstract_controller/base.rb:221:in ‘AbstractController::Base#process_action’
actionpack (8.1.4) lib/action_controller/metal/rendering.rb:199:in ‘ActionController::Rendering#process_action’
actionpack (8.1.4) lib/abstract_controller/callbacks.rb:267:in ‘block in AbstractController::Callbacks#process_action’
activesupport (8.1.4) lib/active_support/callbacks.rb:121:in ‘block in ActiveSupport::Callbacks#run_callbacks’
app/controllers/application_controller.rb:458:in ‘block in ApplicationController#with_resolved_locale’
i18n (1.14.8) lib/i18n.rb:354:in ‘I18n::Base#with_locale’
app/controllers/application_controller.rb:458:in ‘ApplicationController#with_resolved_locale’
activesupport (8.1.4) lib/active_support/callbacks.rb:130:in ‘block in ActiveSupport::Callbacks#run_callbacks’
app/controllers/application_controller.rb:1140:in ‘ApplicationController#ensure_dont_cache_page’
activesupport (8.1.4) lib/active_support/callbacks.rb:130:in ‘block in ActiveSupport::Callbacks#run_callbacks’
activesupport (8.1.4) lib/active_support/callbacks.rb:141:in ‘ActiveSupport::Callbacks#run_callbacks’
actionpack (8.1.4) lib/abstract_controller/callbacks.rb:266:in ‘AbstractController::Callbacks#process_action’
actionpack (8.1.4) lib/action_controller/metal/rescue.rb:36:in ‘ActionController::Rescue#process_action’
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:76:in ‘block in ActionController::Instrumentation#process_action’
activesupport (8.1.4) lib/active_support/notifications.rb:210:in ‘block in ActiveSupport::Notifications.instrument’
activesupport (8.1.4) lib/active_support/notifications/instrumenter.rb:58:in ‘ActiveSupport::Notifications::Instrumenter#instrument’
activesupport (8.1.4) lib/active_support/notifications.rb:210:in ‘ActiveSupport::Notifications.instrument’
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:75:in ‘ActionController::Instrumentation#process_action’
actionpack (8.1.4) lib/action_controller/metal/params_wrapper.rb:259:in ‘ActionController::ParamsWrapper#process_action’
activerecord (8.1.4) lib/active_record/railties/controller_runtime.rb:39:in ‘ActiveRecord::Railties::ControllerRuntime#process_action’
actionpack (8.1.4) lib/abstract_controller/base.rb:154:in ‘AbstractController::Base#process’
actionview (8.1.4) lib/action_view/rendering.rb:40:in ‘ActionView::Rendering#process’
rack-mini-profiler (5.0.0) lib/mini_profiler/profiling_methods.rb:90:in ‘block in ActionController::Base#profile_method’
actionpack (8.1.4) lib/action_controller/metal.rb:252:in ‘ActionController::Metal#dispatch’
actionpack (8.1.4) lib/action_controller/metal.rb:335:in ‘ActionController::Metal.dispatch’
actionpack (8.1.4) lib/action_dispatch/routing/route_set.rb:65:in ‘ActionDispatch::Routing::RouteSet::Dispatcher#dispatch’
actionpack (8.1.4) lib/action_dispatch/routing/route_set.rb:50:in ‘ActionDispatch::Routing::RouteSet::Dispatcher#serve’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:35:in ‘block in ActionDispatch::Journey::Router#serve’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:86:in ‘block in ActionDispatch::Journey::Router#recognize’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:66:in ‘Array#each’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:66:in ‘ActionDispatch::Journey::Router#recognize’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:31:in ‘ActionDispatch::Journey::Router#serve’
actionpack (8.1.4) lib/action_dispatch/routing/route_set.rb:906:in ‘ActionDispatch::Routing::RouteSet#call’
railties (8.1.4) lib/rails/engine.rb:534:in ‘Rails::Engine#call’
railties (8.1.4) lib/rails/railtie.rb:225:in ‘Kernel#public_send’
railties (8.1.4) lib/rails/railtie.rb:225:in ‘Rails::Railtie.method_missing’
actionpack (8.1.4) lib/action_dispatch/routing/mapper.rb:33:in ‘block in class:Constraints’
actionpack (8.1.4) lib/action_dispatch/routing/mapper.rb:62:in ‘ActionDispatch::Routing::Mapper::Constraints#serve’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:35:in ‘block in ActionDispatch::Journey::Router#serve’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:92:in ‘block in ActionDispatch::Journey::Router#recognize’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:66:in ‘Array#each’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:66:in ‘ActionDispatch::Journey::Router#recognize’
actionpack (8.1.4) lib/action_dispatch/journey/router.rb:31:in ‘ActionDispatch::Journey::Router#serve’
actionpack (8.1.4) lib/action_dispatch/routing/route_set.rb:906:in ‘ActionDispatch::Routing::RouteSet#call’
lib/middleware/omniauth_bypass_middleware.rb:35:in ‘Middleware::OmniauthBypassMiddleware#call’
lib/middleware/crawler_hooks.rb:13:in ‘Middleware::CrawlerHooks#call’
rack (2.2.24) lib/rack/tempfile_reaper.rb:15:in ‘Rack::TempfileReaper#call’
rack (2.2.24) lib/rack/conditional_get.rb:40:in ‘Rack::ConditionalGet#call’
rack (2.2.24) lib/rack/head.rb:12:in ‘Rack::Head#call’
lib/content_security_policy/middleware.rb:12:in ‘ContentSecurityPolicy::Middleware#call’
lib/middleware/anonymous_cache.rb:431:in ‘Middleware::AnonymousCache#call’
lib/middleware/csp_script_nonce_injector.rb:13:in ‘Middleware::CspScriptNonceInjector#call’
lib/middleware/track_view_session_id_injector.rb:12:in ‘Middleware::TrackViewSessionIdInjector#call’
config/initializers/008-rack-cors.rb:14:in ‘Discourse::Cors#call’
rack (2.2.24) lib/rack/session/abstract/id.rb:266:in ‘Rack::Session::Abstract::Persisted#context’
rack (2.2.24) lib/rack/session/abstract/id.rb:260:in ‘Rack::Session::Abstract::Persisted#call’
actionpack (8

Env

HTTP HOSTS:

Bon, c’est plus clair, non ?

Que se passe-t-il quand vous essayez d’exécuter ping api.telegram.org depuis votre serveur ?

Moi, j’obtiens :

ping api.telegram.org
PING api.telegram.org (149.154.166.110) 56(84) bytes of data.
64 bytes from 149.154.166.110: icmp_seq=1 ttl=49 time=33.3 ms
64 bytes from 149.154.166.110: icmp_seq=2 ttl=49 time=31.5 ms
64 bytes from 149.154.166.110: icmp_seq=3 ttl=49 time=33.1 ms

ce qui semble sain.

Merci de placer vos journaux entre trois backticks. C’est assez long à faire défiler.

```
logs here
```

Je m’excuse, je n’ai toujours pas appris à le faire (

En plus, c’est peut-être lié au fait que Telegram est bloqué en Russie ? Et mon serveur, où se trouve le forum, est lui aussi en Russie.

oui, ce serait un blocage majeur

Mais tu pourrais envisager une sorte de proxy. Je n’ai aucune idée si ça existe.