node.사회성 모니터
초면
저는 @albno273라고 합니다.
예전시나닷컴 블로그 사람들은 조금씩 비망록과 일기를 섞어 투고했는데, 앞으로는 Qiita에 비망록을 쓰고 과장된 블로그에 일기를 쓴다.
인기 있는 것에 관해서는 블로그에서 이곳으로 이식할 계획이다.
그나저나 Twitter도 있어요.
잘 부탁드립니다.
소셜 필터
Qiita에서 첫 글을 쓸 때 소재를 찾고 있었어요.
[야옹] 파이톤3로 사회성 필터/Qita 실시
그나저나 지금 자신이 처한 상황은 죽기 어려워서 노드가 경을 쓰는 대신js로 해봤어요.
해냈다
소스 파일: GitHub
---적절한 ID로 변경하십시오.var twitter = require('twitter');
var confu = require('confu');
var conf = confu('.', 'config', 'key.json');
var client = new twitter({
consumer_key: conf.test.cons_key,
consumer_secret: conf.test.cons_sec,
access_token_key: conf.test.acc_token,
access_token_secret: conf.test.acc_token_sec
});
var filter = ['つらい', '死にたい', '死ね', '殺す', '疲れた'];
var count = 1;
console.log('Sociality filter activated.');
client.stream('statuses/filter', { follow: --- }, function (stream) {
stream.on('data', function (tweet) {
var text = tweet.text;
var id = tweet.id_str;
var i = filter.length;
while (i--) {
if (text.indexOf(filter[i]) !== -1) {
console.log('Negative word(s) detected!')
console.log('catch: ' + filter[i]);
setTimeout(function () {
client.post('statuses/destroy/' + id, function (err, rep) {
if (!err) {
console.log('Delete succeeded.');
setTimeout(function () {
var tweet_body = 'にゃーん (通算' + count + '回目)';
client.post('statuses/update',
{ status: tweet_body },
function (err, rep) {
if (!err) {
console.log('Tweet succeeded. Meow!');
count++;
} else {
console.log('Tweet failed...');
console.log(err);
}
});
}, 1000);
} else {
console.log('Delete failed...');
console.log(err);
}
});
}, 1000);
break;
}
}
});
stream.on('error', function (error) {
console.log(error);
});
});
모자이크 예쁘네.
실행하다
고찰하다.
Qiita에서 첫 글을 쓸 때 소재를 찾고 있었어요.
[야옹] 파이톤3로 사회성 필터/Qita 실시
그나저나 지금 자신이 처한 상황은 죽기 어려워서 노드가 경을 쓰는 대신js로 해봤어요.
해냈다
소스 파일: GitHub
---적절한 ID로 변경하십시오.var twitter = require('twitter');
var confu = require('confu');
var conf = confu('.', 'config', 'key.json');
var client = new twitter({
consumer_key: conf.test.cons_key,
consumer_secret: conf.test.cons_sec,
access_token_key: conf.test.acc_token,
access_token_secret: conf.test.acc_token_sec
});
var filter = ['つらい', '死にたい', '死ね', '殺す', '疲れた'];
var count = 1;
console.log('Sociality filter activated.');
client.stream('statuses/filter', { follow: --- }, function (stream) {
stream.on('data', function (tweet) {
var text = tweet.text;
var id = tweet.id_str;
var i = filter.length;
while (i--) {
if (text.indexOf(filter[i]) !== -1) {
console.log('Negative word(s) detected!')
console.log('catch: ' + filter[i]);
setTimeout(function () {
client.post('statuses/destroy/' + id, function (err, rep) {
if (!err) {
console.log('Delete succeeded.');
setTimeout(function () {
var tweet_body = 'にゃーん (通算' + count + '回目)';
client.post('statuses/update',
{ status: tweet_body },
function (err, rep) {
if (!err) {
console.log('Tweet succeeded. Meow!');
count++;
} else {
console.log('Tweet failed...');
console.log(err);
}
});
}, 1000);
} else {
console.log('Delete failed...');
console.log(err);
}
});
}, 1000);
break;
}
}
});
stream.on('error', function (error) {
console.log(error);
});
});
모자이크 예쁘네.
실행하다
고찰하다.
var twitter = require('twitter');
var confu = require('confu');
var conf = confu('.', 'config', 'key.json');
var client = new twitter({
consumer_key: conf.test.cons_key,
consumer_secret: conf.test.cons_sec,
access_token_key: conf.test.acc_token,
access_token_secret: conf.test.acc_token_sec
});
var filter = ['つらい', '死にたい', '死ね', '殺す', '疲れた'];
var count = 1;
console.log('Sociality filter activated.');
client.stream('statuses/filter', { follow: --- }, function (stream) {
stream.on('data', function (tweet) {
var text = tweet.text;
var id = tweet.id_str;
var i = filter.length;
while (i--) {
if (text.indexOf(filter[i]) !== -1) {
console.log('Negative word(s) detected!')
console.log('catch: ' + filter[i]);
setTimeout(function () {
client.post('statuses/destroy/' + id, function (err, rep) {
if (!err) {
console.log('Delete succeeded.');
setTimeout(function () {
var tweet_body = 'にゃーん (通算' + count + '回目)';
client.post('statuses/update',
{ status: tweet_body },
function (err, rep) {
if (!err) {
console.log('Tweet succeeded. Meow!');
count++;
} else {
console.log('Tweet failed...');
console.log(err);
}
});
}, 1000);
} else {
console.log('Delete failed...');
console.log(err);
}
});
}, 1000);
break;
}
}
});
stream.on('error', function (error) {
console.log(error);
});
});
고찰하다.
감상
야옹
Reference
이 문제에 관하여(node.사회성 모니터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/albno273/items/2e17fd2d89ceb58d9578
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(node.사회성 모니터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/albno273/items/2e17fd2d89ceb58d9578텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)