NameError语言 - 未初始化的常量 Twilio::TwiML::Response (可能来自旧的 API 代码?)



我需要一些帮助来设置在Sinatra上运行的Twilio SMS广播应用程序。他们构建基于本教程:在 Ruby 中发送群发短信广播

当我进行HTTP POST时,我在运行Sinatra&Ngrok时会在终端中收到此消息。

NameError - uninitialized constant Twilio::TwiML::Response
Did you mean?  Twilio::Response:
    broadcast.rb:75:in `send_to_me'
    broadcast.rb:53:in `block in <main>'

它有问题的代码是:

def send_to_contacts(body, media_url = nil)
  response = Twilio::TwiML::Response.new do |r|
    contacts_numbers.each do |num|
      r.Message to: num do |msg|
        msg.Body body
        msg.Media media_url unless media_url.nil?
      end
    end
  end
  response.text
end
def send_to_me(from, body, media_url = nil)
  name = contact_name(from)
  body = "#{name} (#{from}):n#{body}"
  response = Twilio::TwiML::Response.new do |r|
    r.Message to: MY_NUMBER do |msg|
      msg.Body body
      msg.Media media_url unless media_url.nil?
    end
  end
  response.text
end

我注意到大多数新的 Twilio walkthrus 现在都在使用 API Auths & Tokens

@client = Twilio::REST::Client.new account_sid, auth_token

这是我需要实施的东西吗?关于如何将这两种方法迁移到该类型的格式并保留我的功能的任何指导?

谢谢!

更新:

Twilio::TwiML::Response 已被 Twilio::TwiML::

VoiceResponse & Twilio::TwiML::MessagingResponse 取代。当我将代码更改为以下内容时,它起作用了:

def send_to_contacts(body, media_url = nil)
  response = Twilio::TwiML::MessagingResponse.new do |r|
    contacts_numbers.each do |num|
      r.message to: num do |msg|
        msg.body body
        msg.media media_url unless media_url.nil?
      end
    end
  end
  puts response
end
def send_to_me(from, body, media_url = nil)
  name = contact_name(from)
  body = "#{name} (#{from}):n#{body}"
  response = Twilio::TwiML::MessagingResponse.new do |r|
    r.message to: MY_NUMBER do |msg|
      msg.body body
      msg.media media_url unless media_url.nil?
    end
  end
  puts response
end

最新更新