Created
April 20, 2013 12:11
-
-
Save takaheraw/5425795 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> | |
<script> | |
var host = 'localhost'; | |
var port = 3032; | |
var url = 'ws://' + host + ':' + port + '/'; | |
var WebSocket = window.WebSocket || window.MozWebSocket; | |
var ws = new WebSocket(url); | |
$(function() { | |
var logs = $('#logs'); | |
var log = $('.log'); | |
var input = $('#input'); | |
var find = $('#find'); | |
ws.onopen = function () { | |
logs.prepend(url + 'へ接続しました'); | |
} | |
ws.onmessage = function (msg) { | |
logs.val(''); | |
var data = JSON.parse(msg.data); | |
var query = data.query; | |
data.results.forEach(function(x, i) { | |
var text = x.text; | |
var from = x.from_user; | |
var date = x.created_at; | |
var log = '<strong>' + from + '</strong> > ' + text; | |
logs.prepend('<div class="log">' + log + '(' + date + ')</div><hr>'); | |
$('.log', logs).fadeIn(); | |
}); | |
logs.prepend('<h3>' + decodeURIComponent(query) + ' の検索結果</h3>'); | |
} | |
ws.onclose = function () { | |
logs.prepend('切断しました'); | |
} | |
find.click(function() { | |
var data = input.val(); | |
ws.send(JSON.stringify(data)); | |
}); | |
}); | |
</script> | |
<h1>Twitter Finder</h1> | |
<input type="text" id="input"> | |
<button id="find">検索</button> | |
検索したいワードを入力して検索ボタンをクリックしてください。 | |
<div id="logs"></div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var twitter = require('ntwitter'); | |
var fs = require('fs'); | |
var WsServer = require('ws').Server; | |
var twit = new twitter({ | |
consumer_key: '', | |
consumer_secret: '', | |
access_token_key: '', | |
access_token_secret: '' | |
}); | |
var ws = new WsServer({port: 3032}); | |
ws.on('connection', function(socket) { | |
socket.send('opend: twitter-finderに接続しました'); | |
socket.on('message', function(message) { | |
try { | |
var msg = JSON.parse(message); | |
findText(msg, socket); | |
} catch(e) { | |
console.log(e); | |
} | |
}); | |
}); | |
function findText(msg, socket) { | |
if (Buffer.byteLength(msg) > 60 || msg === '') return; | |
twit.search(msg, {}, function(err, data) { | |
if (err) throw err; | |
socket.send( JSON.stringify(data)); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment