Spellリファレンス
- destroy[twitter,twitter_tweet]
- destroy_share[twitter,twitter_tweet]
- favorite[twitter,twitter_tweet]
- favorited[twitter,twitter_tweet]
- favorited[twitter_user,twitter_tweet]
- compose[twitter]
- compose[twitter,twitter_tweet]
- compose[twitter,twitter_user]
- compose[twitter,twitter_direct_message]
- search[twitter]
- unfavorite[twitter,twitter_tweet]
- share[twitter,twitter_tweet]
- shared[twitter,twitter_tweet]
destroy[twitter,twitter_tweet]
説明
twitter_tweet
を削除する。削除できるのは、自分が投稿したツイートのみ。
対象
-
twitter 投稿またはリツイートを行ったTwitter World。
-
twitter_tweet 削除するツイート。
戻り値
削除したツイートに対応する Plugin::Twitter::Message のインスタンス。
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (自身が行ったツイートの Plugin::Twitter::Message)
destroy(world, tweet).next{|tweet|
puts "ツイート「#{tweet}」 を削除しました"
}.trap{|exc|
error exc
}
結果
ツイート「○×△」を削除しました
destroy_share[twitter,twitter_tweet]
説明
twitter_tweet
に行ったリツイートをキャンセルする。
対象
-
twitter 投稿またはリツイートを行ったTwitter World。
-
twitter_tweet
twitter
がリツイートしているツイート。
戻り値
リツイート自身の Plugin::Twitter::Message のインスタンス。
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (自身が行ったツイートの Plugin::Twitter::Message)
destroy_share(world, tweet).next{|tweet|
puts "ツイート「#{tweet}」 を削除しました"
}.trap{|exc|
error exc
}
結果
ツイート「RT @toshi_a: ○×△」を削除しました
favorite[twitter,twitter_tweet]
説明
ツイートをお気に入りに追加(いいね)します。
対象
-
twitter ふぁぼるアカウントのTwitter World。
-
twitter_tweet ふぁぼる対象のツイート
戻り値
お気に入りに追加したツイートに対応する Plugin::Twitter::Message
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Messageのインスタンス)
favorite(world, tweet).next{|favorited_tweet|
puts favorited_tweet
}.trap{|exc|
error exc
}
結果
うんこでた
favorited[twitter,twitter_tweet]
説明
ツイートがお気に入りに追加されているか否かを取得する。APIリクエストを発生させず、Tweetオブジェクトに入っている状態のみを参照する。
favorited
はAPIに問い合わせず、分かる範囲で既にお気に入りしている場合はtrueを、わからないか、お気に入りしていない場合はfalseを返す。
favorited?
は、既にお気に入りしている場合 true
を、わからないか、お気に入りしていない場合は false
を返す。
対象
-
twitter お気に入りに追加したユーザの Twitter World
-
twitter_tweet お気に入りに追加されたツイート
戻り値
お気に入りに追加されたツイート
例
world, = Plugin.filtering(:world_current, nil)
tweet = Plugin::Twitter::Message.findbyid(939122988460285954) # (Plugin::Twitter::Messageのインスタンス)
notice favorited?(world, tweet)
結果
false
favorited[twitter_user,twitter_tweet]
説明
ツイートがお気に入りに追加されているか否かを取得する。APIリクエストを発生させず、Tweetオブジェクトに入っている状態のみを参照する。
favorited
はAPIに問い合わせず、分かる範囲で既にお気に入りしている場合はtrueを、わからないか、お気に入りしていない場合はfalseを返す。
favorited?
は、既にお気に入りしている場合 true
を、わからないか、お気に入りしていない場合は false
を返す。
対象
-
twitter_user お気に入りに追加したユーザ
-
twitter_tweet お気に入りに追加されたツイート
戻り値
お気に入りに追加されたツイート
例
user = Plugin::Twitter::User.findbyidname('toshi_a_a')
tweet = Plugin::Twitter::Message.findbyid(939122988460285954)
notice favorited?(user, tweet)
結果
false
compose[twitter]
説明
ツイートをアカウント twitter
でツイートする。
対象
-
twitter 投稿するTwitter World。
オプション
-
body 本文(String)。
-
visibility 公開範囲。
:public
の場合は通常のツイート、:direct
の場合はダイレクトメッセージとなる。省略するかnil
の場合は、to
がダイレクトメッセージの場合はdirectを、それ以外の場合はpublicを指定されたものと見做す。 -
to 宛先となる Plugin::Twitter::User または Plugin::Twitter::Message のインスタンスを列挙するEnumerable。混在してもよく、ツイートが含まれる場合は、投稿されるツイートは最初に見つかったツイートに対するリプライとなる。1件だけの場合は、配列ではなくインスタンスを直接渡すことも出来る。宛先がない場合は省略するか
nil
または[]
を渡す。
戻り値
投稿した Plugin::Twitter::Message のインスタンス。
例
「うんこでた」とツイートする
world, = Plugin.filtering(:world_current, nil)
compose(world, body: "うんこでた")
結果
(なし)
ツイートを送信し、成否を受け取る
world, = Plugin.filtering(:world_current, nil)
compose(world, body: "うんこでた").next{|t|
notice "ツイートできました。内容: #{t.message}"
}.trap{|exc|
error exc
}
結果
ツイートできました。内容: うんこでた
リプライを送る
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Message のインスタンス)
compose(world, body: "うんこでた", to: tweet)
結果
(なし)
compose[twitter,twitter_tweet]
説明
ツイートをアカウント twitter
で twitter_tweet
にリプライする。 公開範囲の設定はなく、ダイレクトメッセージにはならず、常にリプライとなる。
対象
-
twitter 投稿するTwitter World。
-
twitter_tweet 宛先のツイート。
オプション
-
body 本文(String)。
戻り値
投稿した Plugin::Twitter::Message のインスタンス。
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Message のインスタンス)
compose(world, tweet, body: "うんこでた")
結果
(なし)
compose[twitter,twitter_user]
説明
twitter_user
にメンションまたはダイレクトメッセージを送る。
対象
-
twitter 投稿するTwitter World。
-
twitter_user メンションする相手又はダイレクトメッセージを送る相手。
オプション
-
body 本文(String)。
-
visibility 公開範囲。
:public
の場合は通常のツイート、:direct
の場合はダイレクトメッセージとなる。省略するかnil
の場合は、:public
を指定されたものと見做す。
戻り値
投稿した Plugin::Twitter::Message のインスタンス。
例
メンションを送る
world, = Plugin.filtering(:world_current, nil)
user = # (twitter_user のインスタンス)
compose(world, user, body: "うんこでた").next{|mention|
notice "ツイートできました。内容: #{mention.message}"
}
結果
ツイートできました。内容: @toshi_a うんこでた
ダイレクトメッセージを送る
world, = Plugin.filtering(:world_current, nil)
user = # (twitter_user のインスタンス)
compose(world, user, body: "うんこでた", visibility: :direct).next{|dm|
notice "DMできました。内容: #{dm.message}"
}
結果
DMできました。内容: うんこでた
compose[twitter,twitter_direct_message]
説明
ツイートをアカウント twitter
で twitter_direct_message
の送り主にダイレクトメッセージを送る。 公開範囲の設定はなく、ツイートにはならず、常にダイレクトメッセージとなる。
対象
-
twitter 投稿するTwitter World。
-
twitter_direct_message 宛先となるユーザが投稿したダイレクトメッセージ。
オプション
-
body 本文(String)。
戻り値
投稿した twitter_direct_message Model のインスタンス。
例
world, = Plugin.filtering(:world_current, nil)
dm = # (twitter_direct_message Model のインスタンス)
compose(world, dm, body: "うんこでた")
結果
(なし)
search[twitter]
説明
キーワード q
にマッチするツイートを検索する。 原則、フォロイーかどうかに関わらず、全てのツイートを対象にする。 Twitter APIの制約上、正確に取得できるとは限らない。
対象
-
twitter 検索するTwitter World。Twitterは検索APIにアクセスするためにAPIトークンが必須となっている
オプション
-
q クエリ文字列(String)。Twitter検索で用いることが出来る各種検索演算子を利用できる。
-
count 戻り値に含める最大件数(Integer)。あくまでTwitterにリクエストする件数であるため、本当にこの件数が返ってくるとは限らない。
戻り値
検索結果を列挙するEnumerable。 列挙される各ツイートはPlugin::Twitter::Messageのインスタンス。
例
world, = Plugin.filtering(:world_current, nil)
search(world, q: "mikutter", count: 5).next{ |tweets|
tweets.each do |tweet|
puts "#{tweet.user}: #{tweet} #{tweet.perma_link}"
end
}.trap{ |e|
# エラー時の処理
error e
}
結果
MysticDoll: マストドンですが、mikutterのところとmaud.ioのところの二箇所を気分で使ってます https://twitter.com/MysticDoll/status/935391468201549825 MysticDoll: https://t.co/gBTqbWEv9q https://twitter.com/MysticDoll/status/935390450038464512 vivir_en_paz: @mikutter あーあって、思ったもんね、おれが。笑 https://twitter.com/vivir_en_paz/status/935356722486456320 vivir_en_paz: @mikutter 見た目にはわからん感じだけどねー。 来週歯医者で怒られてきます、はい。 https://twitter.com/vivir_en_paz/status/935351722263724032 cametan_001: 【MAD】 Mikutter Ad. 【Long Version】: https://t.co/0GYL2hwd3U via @ YouTube https://twitter.com/cametan_001/status/935329517677060096
unfavorite[twitter,twitter_tweet]
説明
ツイートのお気に入り(いいね)をキャンセルします。
対象
-
twitter ふぁぼっているアカウントのTwitter World。
-
twitter_tweet あんふぁぼするツイート
戻り値
お気に入りを削除したツイート
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Messageのインスタンス)
unfavorite(world, tweet).next{|unfavorited_tweet|
puts unfavorited_tweet
}.trap{|exc|
error exc
}
結果
うんこでた
share[twitter,twitter_tweet]
説明
Twitterで、リツイートを行う。
対象
-
twitter リツイートを行うアカウント
-
twitter_tweet リツイートするツイート
戻り値
リツイートした結果生成されたツイート(Plugin::Twitter::Message)
例
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Messageのインスタンス)
share(world, tweet).next{|share|
puts share
}.trap{|exc|
error exc
}
結果
RT: @toshi_a うんこでた
shared[twitter,twitter_tweet]
説明
アカウント twitter
が tweet
をリツイートした時の Plugin::Twitter::Message
を取得する。APIリクエストを発生させず、Tweetオブジェクトに入っている状態のみを参照する。Twitter APIからこの情報を正確に取得する方法は提供されていない。
shared
はAPIに問い合わせず、分かる範囲で既にリツイートしている場合はそのtweetを、わからないか、リツイートしていない場合は失敗する。
shared?
は、既にリツイートしている場合 true
を、わからないか、リツイートしていない場合は false
を返す。
このspellは、リツイートが可能か否かは確認しない。そういった用途には、 share[twitter,tweet] を利用すべきである。
対象
-
twitter リツイートを行ったか確認するアカウント
-
twitter_tweet リツイートされているか確認するツイート
戻り値
リツイートした結果生成されたツイート(Plugin::Twitter::Message)
例
リツイートをすでにしていれば、そのIDを出力
world, = Plugin.filtering(:world_current, nil)
tweet = Message.findbyid(933936591445331968)# (Plugin::Twitter::Messageのインスタンス)
shared(world, tweet).next{|share|
notice share.id
}.trap{|exc|
error exc
}
結果
935447389174824960
リツイートをすでにしていれば、「もうリツイートしているみたいです」と表示
world, = Plugin.filtering(:world_current, nil)
tweet = # (Plugin::Twitter::Messageのインスタンス)
if shared?(world, tweet)
puts "もうリツイートしているみたいです"
end
結果
もうリツイートしているみたいです