ネットで自分が見たWebページをTwitterやTumblrに流したい時に便利です。

もともとはTumblr用に導入していたTaberarelooという拡張機能が、Twitterにポストする際にもたいへん便利なことに最近気付きました。

Taberareloo
http://github.com/Constellation/taberareloo/wiki

この拡張機能は、TwitterやTumblr、はてなブックマークなど様々なWebサービスに、写真やメモ、ブックマークや引用などをポストするためのものです。今回は、TwitterにLink情報をポストすることを考えます。

インストールが終わったら、必要な設定をしましょう。オプションを開いて、Twitterの行のLinkの項目をクリックして有効にします。今回は設定はこれだけでOKです。

では、共有したいWebページで右クリックをし、Share… → Taberareloo をクリックしてください。すると以下のような窓が開くはずです。

descriptionというエリアに、リンクに添えたい一言を入力してpostをクリックします。すると、Twitterに以下のような内容がポストされます。

デフォルトではこのように、 “description ページ名 URL” という内容でポストされます。これはオプションのエントリ内容/他という項目で詳しく設定・変更が出来ます。

この拡張機能の利点は、Twitterのページを開かなくてもポスト出来るため、非常に手軽にかつ今見ているページを開いたままにしてポストできるところです。設定すればbit.lyなどの短縮URLも利用できます。

さくさくポスト出来てやみつきになることまちがいなし。もしこれが気に入ったならば、あなたはTumblr向きかも。

http://www.tumblr.com/

Taberarelooは、本来tumblrにおいてその真価を発揮するものなので、tumblrやってない人は今すぐ初めてください。

,

こいつです。今回は自動フォロー返し(follow back)機能を実装します。

まず、用語を整理しておきましょう。一番難しいのはここです。

followerとは、あるユーザーのことをフォローしている人のことです。逆に、friendとは、あるユーザフォローしている人のことです。

twitter4jには、あるユーザー同士の関係を調べる showFriendship() という便利なメソッドがあるのでそれを活用します。例によってJSON形式でデータが帰ってくるので、適当に処理してやります。ここでは、towelie_botアカウントのIDと、”towelie_botのfollowers” のIDを比較して、相互フォローになっていない場合にフォロー返しをするようになっています。132737336がtowelie_botのuserIDです。

import twitter4j.Twitter;
import twitter4j.TwitterException;

public class TowelFollow {
	static int[] followersIDs = null;

	public static void followBack(Twitter towel) {
		try {
			followersIDs = towel.getFollowersIDs().getIDs();

			for (int followers : followersIDs) {
				if (towel.showFriendship(132737336, followers)
						.isTargetFollowingSource()
						&& !towel.showFriendship(132737336, followers)
								.isSourceFollowingTarget()
						&& towel.showFriendship(132737336, followers)
								.isSourceNotificationsEnabled()) {
					towel.createFriendship(followers);
				}
			}
		} catch (TwitterException e) {
			e.printStackTrace();
		}
	}
}

非公開ユーザに対する動作がよくわからなかったので、そこは手付かずのままです。

フォローバックの機能はツイート機能のように頻繁に動かす必要もないので、別ファイルとして動作させます。

とりあえず必要最低限botとして十分な機能は実装できたので満足です。もしよければフォローしてね。
英語の勉強にも…ならないかw

, , , ,