Mercurial > hgrepos > hgweb.cgi > xsotter
view xsotter_class.rb @ 6:6c763cb4ea40
change path on xsotter_mail.rb
author | KAMURA Sota <c109047@e.koeki-u.ac.jp> |
---|---|
date | Tue, 07 Feb 2012 20:08:20 +0900 |
parents | f1a06832e7de |
children | 2ebeaae57e96 |
line wrap: on
line source
#! /usr/bin/env ruby # -*- coding: euc-jp -*- require"rubygems" #gem `twitter`, `1.1.1` require"oauth" require"twitter" require"nkf" include Twitter class Xsotter def initialize (token_path) p @path = File.expand_path(token_path) # @path = File.expand_path("~") + "/.xsotter_token" @login = false @kcode = "-e" oauth if File.exist?(@path) == false IO.foreach(@path) do |line| a=line.chomp.split(" ") @ACCESS_TOKEN = a[0] @ACCESS_SECRET = a[1] @kcode = a[2] @login = true end Twitter.configure do |config| config.consumer_key = 'SuucnlrR6yAOXz3AQaJG4Q' config.consumer_secret = 'wCL1YIuGH8fIKvBfXKrBbacGF8mhJHBR3A11MpmyPw' config.oauth_token = @ACCESS_TOKEN config.oauth_token_secret = @ACCESS_SECRET end # comand(com) end def public_tl return Twitter.public_timeline() end def comand(com)#com=array case com[0] when "--logout" File.delete(path) when "-k" File.chmod(0700,@path) open(@path,"w") do |txt| token = @ACCESS_TOKEN + " " + @ACCESS_SECRET + " " + com[1] txt.printf"%s",NKF.nkf(@kcode,token) end File.chmod(0400,@path) when "-f" f=Twitter.favorites.each do |fav| str = NKF.nkf(@kcode, fav.user.screen_name + ":" + fav.text) puts str puts end when "-R" if com[1]==nil puts "使用法: xsotter -R ID" else Twitter.retweet(id=com[1]) end when "-F" if com[1]==nil puts "使用法: xsotter -F ID" else Twitter.favorite_create(id=com[1]) end when "-T" str = "" com.delete_at(0) com.each do |i| str += i + " " end str = NKF.nkf("-w", str) Twitter.update(str) when "-t" Twitter.home_timeline.each do |line| str = line.text str = NKF.nkf(@kcode, line.user.screen_name + ": " + str ) puts str puts "ID=#{line.id}" puts end when "-r" Twitter.mentions.each do |line| str = line.text str = NKF.nkf(@kcode, line.user.screen_name + ": " + str ) puts str puts end else puts NKF.nkf(@kcode, " -k KCODE :-e euc -j shift_jis\n -t :タイムラインを出力します。\n -T str :strをツイッターに投稿します。\n -r :自分宛てのリプライを出力します。\n -f 自分のお気に入りのツイートを出力します。\n -F ID :IDをお気に入りに追加します。\n -R ID ID:をリツイートします\n--logout :もう一度認証するまで使えなくなります。") end end def oauth consumer = OAuth::Consumer.new("SuucnlrR6yAOXz3AQaJG4Q", "wCL1YIuGH8fIKvBfXKrBbacGF8mhJHBR3A11MpmyPw", :site => "http://twitter.com") request_token = consumer.get_request_token puts puts request_token.authorize_url #ここでURLがでて認証画面に puts puts "にアクセスし、Twitterにログインしてxsotterを認証し、PINを入手してください。" puts begin puts"PINを入力してください。" print"PIN=" oauth_verifier = STDIN.gets.chomp token = request_token.get_access_token(:oauth_verifier => oauth_verifier ) open(@path,"w") do |txt| token = token.token + " " + token.secret + " -e" txt.printf"%s",NKF.nkf(@kcode,token) end File.chmod(0400,@path) puts "xsotterでログインできるようになりました。もういちど実行してください。" exit(0) rescue puts"PINを間違えて入力しているかも、もう一度チャレンジしてみて " exit(1) end end end if $0 == __FILE__ consumer = OAuth::Consumer.new("SuucnlrR6yAOXz3AQaJG4Q", "wCL1YIuGH8fIKvBfXKrBbacGF8mhJHBR3A11MpmyPw", :site => "http://twitter.com") request_token = consumer.get_request_token puts puts request_token.authorize_url #ここでURLがでて認証画面に puts puts "にアクセスし、Twitterにログインしてxsotterを認証し、PINを入手してください。" puts begin puts"PINを入力してください。" print"PIN=" oauth_verifier = STDIN.gets.chomp token = request_token.get_access_token(:oauth_verifier => oauth_verifier ) open("./token","w") do |txt| token = token.token + " " + token.secret + " -e" txt.printf"%s",NKF.nkf("-w",token) end puts "xsotterでログインできるようになりました。もういちど実行してください。" exit(0) rescue puts"PINを間違えて入力しているかも、もう一度チャレンジしてみて " exit(1) end end