HardReggaeCafe@Ameblo.jp -32ページ目

ParisHiltonが日本語でTweet開始!

そんなアホな話があるはずがありません。

ただ、Paris本人はTwtterをやっているようです。
先日CバさんとTwitterについて話をしていたときのこと。
とにかくTwitterは女子にはウケないという頑なな意見
をCバさんに言われていたのです。でもって海外では
いろんなセレブ(女性も)やっているとかいう話から
あのParisHiltonが日本語でつぶやくとかやってくれるなら
まだ見る可能性があるんだけどねーという意見が出ました。
ま、私は完ぺきではないけどとりあえず英語読めるので
それほど壁を感じないけど、他の人には敷居が高いのね
と思った瞬間です。

そんないきさつから、翻訳してTweetを流すBotがあったら
おもしろいんじゃね?というノリで閃いたので作ったのが
Parisbotです。

Parisbotが何をするかというと、本家(ParisHilton)の
TLを読んで日本語に変換してつぶやきます。
日本語変換機能はGoogle翻訳APIを使います。

で、早速TwitterにParisのアカウントを作成しました。

WeddingParkはPHPを使っていますが、ここは勉強を兼ねて
Rubyでやったろうと思ったのが面倒の始まり。
はっきり言ってソースは汚いのですが、何とか上記機能を
備えたBotを作れました。
このBotをクーロンで1時間おきに動かします。サーバについては
さくらのレンタルサーバを使っています。

そもそもgemとかRailsとかさくらのサーバでは使えません。
ここを参考にして使えるようにする必要があります。
http://t100life.blog121.fc2.com/blog-entry-148.html

そのうえでgemを使っていくつかのモジュールをインストール
しておかないと開発は難航するかも。

インストールしたgemのディレクトリに移動して片っ端から
モジュールをインストールします。

gem install oauth
gem install active_support
gem install ruby-json
gem install httpclient
gem install json

あとTwitterAPI使うに当たってOAuthという言葉は
避けて通れません。今はBasic認証もOKにしてますが
セキュリティを考えたらそれではまずいのでOAuthという
方式に切り替えるんだとか。
そのためボットをTwitterに登録します。以下を参照。
http://d.hatena.ne.jp/shibason/20090802/1249204953

Botのソースは以下の通りで誰かのお役に立てば幸いです。

======================================================
require 'rubygems'
require 'oauth'
require 'json'
require 'json/lexer'
require 'httpclient'
require 'uri'
require 'active_support'

# API KEYS
CONSUMER_KEY = '[上で登録したCOMSUMER_KEY]'
CONSUMER_SECRET = '[上で登録したCONSUMER_SECRET]'
ACCESS_TOKEN = '[上で登録したACCESS_TOKEN]'
ACCESS_TOKEN_SECRET = '[上で登録したACCESS_TOKEN_SECRET]'


#Google 翻訳APIで文字列を翻訳する
module Translate
URL = "http://ajax.googleapis.com/ajax/services/language/translate"
@@proxy = nil

#文字列を指定された言語に翻訳する。
def self.translate( q, from, to )
@@client ||= HTTPClient.new( @@proxy, "Client")
result = @@client.get( "#{URL}?v=1.0&q=#{URI.encode(q)}&langpair=#{from}%7C#{to}" )
parsed = JSON::Lexer.new(result.content).nextvalue
raise parsed["responseDetails"].to_s if parsed["responseStatus"] != 200
parsed["responseData"]["translatedText"]
end
end

class String
# 文字列を英語と見なして日本語に翻訳する。
def to_ja
Translate.translate( self, "en", "ja" )
end
end


# 認証の下準備
consumer = OAuth::Consumer.new(
CONSUMER_KEY,
CONSUMER_SECRET,
:site => 'http://twitter.com'
)
access_token = OAuth::AccessToken.new(
consumer,
ACCESS_TOKEN,
ACCESS_TOKEN_SECRET
)

# タイムラインを取得して時系列順に表示
response = access_token.get('http://twitter.com/statuses/user_timeline/ParisHilton.json')

JSON.parse(response.body).reverse_each do |status|
#Tweetが1時間以内のものがあればそれを対象にする
created_at = Time.parse status['created_at']
time = Time.now
onehoursago = 1.hours.ago time
if created_at >= onehoursago then
tweet = "#{status['text']}".to_ja
# Tweetの投稿
response2 = access_token.post(
'http://twitter.com/statuses/update.json',
'status'=> tweet
)
end
end
======================================================

で完成したのがこちら↓
https://twitter.com/ParisHiltonJ

本当にやばいです。翻訳ひどいけどまあご勘弁を。
今度時間あったらギャル文字にも挑戦します(^^

【参考にしたサイト】
TwitterAPIチュートリアル
http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses-user_timeline
Google翻訳
http://d.hatena.ne.jp/unageanu/20090828/1251452229
Rubyの日付計算
http://d.hatena.ne.jp/walf443/20060605/1149514808

初GoogleBuzz感想

感度の高い人は既にご存じだと思いますが、GoogleBuzzが公開されました。
Googleのオフィシャルリリースはこちらの通り
http://internet.watch.impress.co.jp/docs/news/20100210_348222.html

自分にもBuzz機能が付与されたので試しに使ってみました。
・画像とかいろんなものがつけられるTwitterに似たサービス
・Waveも似ているサービスだけど協業するときに使えるサービスなイメージ
・GoogleReader,Picasa,Twitter連携もされていて自動に情報を
 取得して表示するらしいがイマイチ使い方がわからん
・最初の時点でGmailに登録のある連絡先の人数人を自動的にフォロー
 してしまう
こんなところでしょうか?

Twitterとの違いは文字制限のないところとか、いろんなコンテンツを
乗っけられるところでしょうか?上の記事によるとiPhoneAPPも
あるという話でしたが、見つかりませんでした。

ということで気になる方は
hardreggaecafe@gmail.com
でもフォローしてみてください。よろしく。

MJデー

今さっきNHK見たらオリアンティが出ていました。

BEAT ITやBlack & Whiteのリフをガシガシ弾いてました。
根っからのギターキッズだね。

で、実は今日はMichealJacksonのLive At Bucarest見たんだけど
20年近く前の映像にも関わらず完全にノックアウトされました。
映像の中にも失神する人続出。ええ?ウソだろ?って感じですが
あのライブアクトを見て感動しない人はいないでしょう。

前も言ったけど、MJといえばスキャンダルしか知らないという
人は本当に不幸です。人生の30%くらい損している気がします。

Working Day NightはOffTheWallの中でもかなり好きな曲ですが
かなりいい感じでした。JamesBrownのノリに近いですよね。

ライヴ・イン・ブカレスト [DVD]/マイケル・ジャクソン

¥3,990
Amazon.co.jp

スーパーボウル迫る


明後日ついに頂上決戦!
個人的にはファーブの出るバイキングスに出て欲しかったけど・・・

まあザ・フーのライブもあるし楽しみです。


iPhoneからの投稿

TVに出るかも

今週土曜日のNHKの番組に出るかもしれません。
9:00~経済ビジョンeという番組です。

仮想空間(AmebaPigg)についてインタビュー受けたりしました。
って一ユーザの視点で答えただけなんですが…

自分でもどう写っているのかよくわからないので変な映像になってなければ
いいのですが、まあ当日をお楽しみにという感じですか。

これ見てPiggやってみよう!ってなった方、ご連絡お待ちしておりますー