我正在使用Twitter宝石开发Twitter机器人。这个机器人很喜欢并追随人们。但是现在我想用这个宝石发送私人消息,我不能。
这是我正在测试的内容:
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
这是我的一个简单错误
client.create_direct_message("@username","hello this is a test!",options={})
event.message_create.target.recipient_id: '@username' is not a valid Long (Twitter::Error::BadRequest)
是这个:
undefined local variable or method `tweet' for main:Object (NameError)
希望您有解决方案!祝你有美好的一天。
获取要与之发送消息的Twitter的ID。您可以使用此link获取ID。
然后您可以执行命令:
client.create_direct_message('<replace with the twitter Id you obtained>',"hello this is a test!",options={})
在您的示例中,tweet.user意味着,有一个tweets-table(模型类),twitter ID保存在用户列中。