2017-08

Latest Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Re: ついったーもばいる

twpost.rbを改造。
friends_timelineを取得してメールを返すようにした。


require 'nkf'
require 'net/http'
require 'cgi'
require "rexml/document"
require 'net/smtp'
Net::HTTP.version_1_2

id="xxxxxx"
pass="xxxxxx"
from="(xxxxxx@docomo\.ne\.jp|xxxxxx@xxxxxx\.com)"

mailserver="xxxxxx.xxxxxx.xx.jp"
maildomain="xxxxxx.xxxxxx.xx.jp"
mailid="xxxxxx"
mailpass="xxxxxx"
mail="xxxxxx@xxxxxx.xxxxxx.xx.jp"

status="Moving"
subject=""
address=""
response=""
#flag=Hash.new
mailbody=""

while line=gets
if line =~ /^Subject: (.*)$/
subject=$1
status=CGI.escape(NKF.nkf('-mw',$1))
elsif line =~ /^From: (.*)$/
address=$1
end
end

if Regexp::new(from) =~ address

header = {'Authorization' => 'Basic '+[ "#{id}:#{pass}" ].pack('m').gsub(/\n/, '')}
path="/statuses/update.xml" #?status="+status
data="status="+status

Net::HTTP.start(host="twitter.com",80) {|http|
response=http.post( path, data, header )
}


path = "/statuses/friends_timeline.xml"
Net::HTTP.start(host="twitter.com",80) {|http|
response=http.get( path, header )
}
statuses = REXML::Document.new(response.body).elements.to_a("statuses/status")
statuses.each{|status|
user=status.elements.to_a("user/screen_name").first.text
text=status.elements.to_a("text").first.text

if user!=id #&& flag[user].nil?
#flag[user]=text
mailbody << NKF.nkf('-Wj', user.to_s+": "+text.to_s+"\n")
end
}

Net::SMTP.start( mailserver, 25, maildomain, mailid, mailpass, :login ) {|smtp|
smtp.send_mail <From: #{mail}
To: #{address}
Content-Transfer-Encoding: 7bit
Content-Type: Text/Plain; charset=iso-2022-jp
Subject: Re:#{subject}

#{mailbody}
EndOfMail
}

end

重複する人は除いている。(4/16コメントアウト)
スポンサーサイト

トラックバック

http://worris.blog61.fc2.com/tb.php/62-674b3acd

この記事にトラックバックする(FC2ブログユーザー)

«  | HOME |  »

移転しました。

ブログ引っ越しました。
無用の科学あるいは錬金術

 

株価情報

 

最近の記事

最近のコメント

 

最近のトラックバック

月別アーカイブ

カテゴリー

RSSフィード

ブログ内検索

 

なかのひと

 

ヘビーローテーション

 

 

リンク

広告

 

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。