ruby 使用twitter gem发送直接消息

wmvff8tz  于 2023-01-25  发布在  Ruby
关注(0)|答案(1)|浏览(104)

我正在用twitter gem开发一个twitter机器人。这个机器人喜欢和关注别人。但是现在我想用这个gem发送私人消息,但是我不能。
这是我测试的:

def login_twitter_stream
  client_streaming =
    Twitter::Streaming::Client.new do |config|
      config.consumer_key = ENV["TWITTER_CONSUMER_KEY"]
      config.consumer_secret = ENV["TWITTER_CONSUMER_SECRET"]
      config.access_token = ENV["TWITTER_ACCESS_TOKEN"]
      config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
    end
  return client_streaming
end

def login_twitter
  client_REST =
    Twitter::REST::Client.new do |config|
      config.consumer_key = ENV["TWITTER_CONSUMER_KEY"]
      config.consumer_secret = ENV["TWITTER_CONSUMER_SECRET"]
      config.access_token = ENV["TWITTER_ACCESS_TOKEN"]
      config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
    end
  return client_REST
end

def direct_messages
  client = login_twitter

  client
    .search("#helloworld", result_type: "recent")
    .take(5)
    .each do
      client.create_direct_message(
        "#{tweet.user}",
        "hello this is a test!",
        options = {}
      )
    end
end

direct_messages

这就是我在简单的
x一个一个一个一个x一个一个二个x
还有这个

undefined local variable or method `tweet' for main:Object (NameError)

我希望你有解决办法!祝你有美好的一天。

juzqafwq

juzqafwq1#

获取你想发送消息的twitter的id。你可以使用这个link来获取一个id。
然后您可以执行以下命令:

client.create_direct_message('<replace with the twitter Id you obtained>',"hello this is a test!",options={})

示例中的tweet.user意味着,有一个tweets表(一个模型类),twitter ID保存在user列中。

相关问题