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]

説明

ツイートをアカウント twittertwitter_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]

説明

ツイートをアカウント twittertwitter_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]

説明

アカウント twittertweet をリツイートした時の 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

結果

もうリツイートしているみたいです