聊天集成

我想将集成连接到 Telegram 聊天。我已经创建了机器人,并在插件设置中添加了令牌。但没有任何反应,机器人没有响应。
在插件中发送测试消息时,会收到 500 错误。请帮忙解决一下。

请检查 /logs 中导致 500 错误的实际错误信息并分享出来,包括回溯堆栈。

消息(已报告 11 次)

Net::OpenTimeout(无法打开到 api.telegram.org|2001:67c:4e8:f004::9,149.154.166.110.final-destination.invalid:443 的 TCP 连接(执行超时))
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’

回溯

/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

环境

HTTP HOSTS:

嗯,这样是不是更清楚了?

当你从服务器上尝试 ping api.telegram.org 时会发生什么?

我得到的结果是:

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

看起来一切正常。

请将日志放在三重反引号中。直接滚动查看起来非常费劲。

```
logs here
```

抱歉,我还是没学会怎么做(

另外,这可能与俄罗斯封锁了 Telegram 有关?我的服务器和论坛所在地的服务器也都位于俄罗斯。

是的,那将会是致命缺陷。