Closed ekzobrain closed 3 years ago
When calling Telegram::Bot::Api.send_message(chat_id: xxx, text: xxx) it throws an exception:
2021-01-20T18:33:56.338Z 1 TID-grvhfbwjx WARN: SystemStackError: stack level too deep 2021-01-20T18:33:56.338Z 1 TID-grvhfbwjx WARN: /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `each_line' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `has_multipart?' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:49:in `block in has_multipart?' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `each_line' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `has_multipart?' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:49:in `block in has_multipart?' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `each_line' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:48:in `has_multipart?' /usr/local/bundle/ruby/2.5.0/gems/faraday-1.3.0/lib/faraday/request/multipart.rb:49:in `block in has_multipart?'
Problem is in the way how Faraday detects multipart requests with it's middleware. To fix this you should just change this in telegram/bot/api.rb:115
def conn @conn ||= Faraday.new(url: url) do |faraday| faraday.request :multipart faraday.request :url_encoded faraday.adapter Telegram::Bot.configuration.adapter end end
to this
def conn @conn ||= Faraday.new(url: url) do |faraday| faraday.request :url_encoded faraday.request :multipart faraday.adapter Telegram::Bot.configuration.adapter end end
When calling Telegram::Bot::Api.send_message(chat_id: xxx, text: xxx) it throws an exception:
Problem is in the way how Faraday detects multipart requests with it's middleware. To fix this you should just change this in telegram/bot/api.rb:115
to this