hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[ruby]twitter APIでDM(DirectMessage)を送ってみる

公開日時

twitter gemを使ってDMを送るサンプルを作ってみました。

require 'rubygems'
require 'twitter'

rest_client = Twitter::REST::Client.new do |config|
  config.consumer_key        = CONSUMER_KEY
  config.consumer_secret     = CONSUMER_SECRET
  config.access_token        = ACCESS_TOKEN
  config.access_token_secret = ACCESS_TOKEN_SECRET
end

rest_client.create_direct_message('screen_name', "テストです\n改行します")

create_direct_messageメソッドを使うとDMを送ることができます。

Twitterヘルプセンター | Twitterリミット (API、ツイート投稿、およびフォロー)によると

ダイレクトメッセージ (1日): 1日に送信できるメッセージは1,000件に制限されています。

とのことなので制限に引っかからないようにチェック処理も入れておくべきですね。(1,000件って結構多いですね)

なお、自分自身にDMを送っても Twitter公式アプリ(iOS)ではpush通知は送られてきませんでした。(Androidは未検証)

自分自身へのDMはメモ用に使ったりする用途が多いと思うのであえてpush通知を送る必要はないという判断なのかもしれません。

参考


Related #Ruby

[ruby]twitter gemで重複投稿しても例外が発生しない場合

twitterには同じ文言を投稿するとエラーとなり投稿できない仕様があります。

[sinatra][twitter]screen_nameからユーザidを求めるサンプル

twitterのscreen\_nameを元にユーザidを知りたいと思い調べていたところ、

[ruby][twitter]画像付きのツイートをする

twitter apiを使うとapi経由で画像付きのツイートをすることが可能なので簡単なサンプルを作って検証してみました。

The Ruby openssl extension was not compiled. Missing the OpenSSL lib?

RaspberryPi(Raspbian)にrbenvを使ってruby2.1.2をインストールしようとした際に上記エラーが発生しました。