Skip to content

Instantly share code, notes, and snippets.

@takaheraw
Created April 20, 2013 12:11
Show Gist options
  • Save takaheraw/5425795 to your computer and use it in GitHub Desktop.
Save takaheraw/5425795 to your computer and use it in GitHub Desktop.
<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>
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