RTしまくってるspam(複数のユーザー)をAppsを使ってリスト登録 | 乖離のぶろぐ(*´∀`)吸い込んで応援
-----------下記は2014-08-23 01:47:18の内容----------------
(゚ω゚)今までツイッターの検索は、見たいVIAだけになるように検索していた。
キーワード AND (source:"Twitter Web Client" OR source:"Twitter for Websites" OR source:"Twitter for iPhone" OR source:"Twitter for Mac" OR source:"Twitter for Android" OR source:TweetDeck OR source:Janetter OR source:Twitpic OR source:gamenuu OR source:Tween OR source:iOS OR source:"Twitter for iPad" OR source:"Janetter for Mac" OR source:OpenTween)

(゚ω゚)数日前から、検索条件に2個以上のsourceが記述できなくなった。
(゚ω゚)そして、SPAM報告をひらすら続けていたが、こんな肉体労働はオカシイと気づいて
(゚ω゚)TweetDeckの設定画面を見ると・・・

TweetDeckのミュートはtext,user,sourceの3種類。
ミュートに設定されたテキストやユーザーやVIA名(sourceの値)は、検索結果にも表示されない。


(゚ω゚)という使い方を見つけ、かなり見やすくなった。


-----------下記は2014-08-24 23:48:00の内容-------------------------
(゚ω゚)暫くSPAM報告やミュートを、約500ユーザーくらいブロックしただろうか、
(゚ω゚)それが原因なののかは不明だが、ブラウザのタブが真っ白く停止するように成った。
(゚ω゚)TweetDeckサイトを見ると、また専用クライアントを配布している・・

https://about.twitter.com/products/tweetdeck



-----------下記は2014-08-25 07:03:00の内容-----------------------------
(゚ω゚)SPAMに本気で消えてもらいと思ったら、SPAMをブロックし、ブロックしたユーザーはリストへ集め、常に表示させておくべきと思う。
(゚ω゚)サーバー資源がSPAMによって使われてしまうと、サーバー管理者はSPAMを削すだろう。
(゚ω゚)SPAM作成主は自分がリスト登録されても、大勢をいちいちブロックするようなことはしない。そんな手間があれば新たなSPAMを作る。

(゚ω゚)たとえば、こんな風なリストを作り、TweetDeckで隅っこの列に表示させておく。
https://twitter.com/kai_ri_no/lists/a-h-s-p-a-m
(゚ω゚) ←の横の当ブログのプラグインに表示させているから、アニメのリストを見たかった人は乖離の公開リストを見てくれ。

-----------下記は2014-08-26 04:50:00以降に追記された内容----------------
(゚ω゚) ツイッターのリストのユーザー追加ってツライ激務なのよ。
(゚ω゚) cURLのコマンド叩いたら、100人追加とか出来ないのかね?
(゚ω゚) Appsがツイッターを自動化させる認証とかの機能なんだが、
(゚ω゚) ちょっと前まで携帯電話が必要だった。今は不要!


http://qiita.com/monhan/items/ba36e6a28ed9bbab6ec0
PHP - twitter botを作ってみる(第1回~twitteroauth導入編) - Qiita
(゚ω゚) 呟きを「リストへの追加」に置き換えると、たぶんこの方法で可能だろう。


(゚ω゚) php5を選んでインストールしようとすると、他にもこれだけ一緒にインストールされる。
(゚ω゚) cliがコマンドラインでphpを使う時に使うアプリ
lubuntu@lubuntu-VirtualBox:~/public/twitter$ ls -lR
.:
合計 8
-rw-rw-r-- 1 lubuntu lubuntu 804 8月 26 04:06 addUser2List.php
drwxrwxr-x 2 lubuntu lubuntu 4096 8月 26 03:59 twitteroauth

./twitteroauth:
合計 36
-rw-rw-r-- 1 lubuntu lubuntu 26524 8月 26 03:55 OAuth.php
-rw-rw-r-- 1 lubuntu lubuntu 7655 8月 26 03:55 twitteroauth.php
lubuntu@lubuntu-VirtualBox:~/public/twitter$ php ./addUser2List.php
PHP Fatal error: Call to undefined function curl_init() in /home/lubuntu/public/twitter/twitteroauth/twitteroauth.php on line 195
lubuntu@lubuntu-VirtualBox:~/public/twitter$

(゚ω゚) cURLをインストールしてなかった。インストールするか・・

curl (バージョン 7.35.0-1ubuntu2) がインストールされます
php5-curl (バージョン 5.5.9+dfsg-1ubuntu4.3) がインストールされます


https://twitter.com/kai_ri_no/status/503985688186855424


(゚ω゚) 11行目の$oAuthを作ってる部分までは使えるから、
(゚ω゚) 次はpost部分を「リストへユーザー追加」に作り変える。


(゚ω゚)完成。手順はこんな感じ。
1.SPAMNAME.txtファイルの作成

lubuntu@lubuntu-VirtualBox:~/public/twitter$ head SPAMNAME.txt
この家族レベルたけぇwww @family_www
ふなっしーのカオスな画像集 @funassi_kaosu
ソードアート・オンラインbot @Sao_Sao_0
2014花火大会情報 @2014_hanabi
2次元☆究極の制服! @2zigen_seihuku
3秒で笑ってしまうツイート @3byo_www
@7notaizai_gazou
@Japan_zatugaku
@STEINS_0001
@_fairy_love_
lubuntu@lubuntu-VirtualBox:~/public/twitter$

2.addUser2List.phpの作成

lubuntu@lubuntu-VirtualBox:~/public/twitter$ cat addUser2List.php
<?php

require_once(dirname(__FILE__)."/twitteroauth/twitteroauth.php");

// developer info
$consumerKey = '自分用を作ってください';
$consumerSecret = '自分用を作ってください';
$accessToken = '自分用を作ってください';
$accessTokenSecret = '自分用を作ってください';

$oAuth = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

/* oAuth認証を利用し、リスト情報を確認。
$method = 'GET';
$myName = '自分の@を取り除いたユーザー名を使ってください'
$response = $oAuth->get('lists/ownerships', array('screen_name' => $MyName));
var_dump($response);
リストIDとslugが分かったらコメントアウト */

// oAuth認証を利用し、ユーザーをリストに追加。
$method = 'POST';
$LstId = '自分のリストIDを使ってください'; //リストID。値は整数
$slugLstName = '自分のslugを使ってください'; //リスト名(URLに出てきてる文字列)
/* $spamUserID = 整数; を与えなくてもリストに追加できた 2014.08.26 */
$scrName = getenv ( 'SPAMNAME' ); //リストに追加するユーザーID (@から後ろの部分)

$response = $oAuth->post('lists/members/create', array(
'list_id' => $LstId ,'slug' => $slugLstName,
'screen_name' => $scrName));

// 結果出力
var_dump($response);

?>
lubuntu@lubuntu-VirtualBox:~/public/twitter$

3.addUser2List.shの作成

lubuntu@lubuntu-VirtualBox:~/public/twitter$ cat addUser2List.sh
#!/bin/bash
# 2014/09/28 TweetDeckのコンテンツに変化があったようだが、この処理でOK
for sname in `cat SPAMNAME.txt`
do
#先頭の@を除去
case $sname in
@*)
sleep 60;
SPAMNAME=${sname##@};
# SPAMNAME を環境変数にする
export SPAMNAME;
echo "### SPAMNAME=$SPAMNAME";
php ./addUser2List.php
;;
*) echo "........Skip $sname";continue
;;
esac
done
lubuntu@lubuntu-VirtualBox:~/public/twitter$

4.addUser2List.shの実行

lubuntu@lubuntu-VirtualBox:~/public/twitter$ ls -la
合計 1276
drwxrwxr-x 3 lubuntu lubuntu 4096 8月 26 11:00 .
drwxrwxrwx 4 lubuntu lubuntu 4096 8月 26 04:08 ..
-rw-rw-r-- 1 lubuntu lubuntu 3954 8月 26 09:58 SPAMNAME.txt
-rw-rw-r-- 1 lubuntu lubuntu 1219954 8月 26 10:58 addUser2List.log
-rw-rw-r-- 1 lubuntu lubuntu 1579 8月 26 10:03 addUser2List.php
-rwxrwxr-x 1 lubuntu lubuntu 221 8月 26 10:23 addUser2List.sh
drwxrwxr-x 2 lubuntu lubuntu 4096 8月 26 03:59 twitteroauth
lubuntu@lubuntu-VirtualBox:~/public/twitter$ ./addUser2List.sh > addUser2List.log


(゚ω゚)参考URL
https://dev.twitter.com/docs/api/1.1/get/lists/list
https://dev.twitter.com/docs/api/1.1/post/lists/members/create


http://goo.gl/b4pK95
他の人のリストから外れたいのですが、どうすればいいでしょうか?


(゚ω゚)エラーの対処 2014.09.24追記
(゚ω゚)別ホストで実行させたら使わないsnmpのエラーが山ほど出た。

root@ubuntu-VirtualBox:/etc/php5/mods-available# php -v
MIB search path: /home/ubuntu/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (SNMPv2-TC): At line 10 in /usr/share/snmp/mibs/UCD-DLMOD-MIB.txt
Cannot find module (SNMPv2-SMI): At line 34 in /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Cannot find module (SNMPv2-TC): At line 37 in /usr/share/snmp/mibs/UCD-SNMP-MIB.txt

php5-snmpをアンインストール。

すると、下記のiniファイルも消える。
root@ubuntu-VirtualBox:/etc/php5/mods-available# ls -la
合計 108
drwxr-xr-x 2 root root 4096 5月 29 01:22 .
drwxr-xr-x 6 root root 4096 5月 29 01:22 ..
-rw-r--r-- 1 root root 68 4月 10 02:26 curl.ini
-rw-r--r-- 1 root root 64 4月 10 02:26 gd.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 gmp.ini
-rw-r--r-- 1 root root 68 2月 18 2014 json.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 ldap.ini
-rw-r--r-- 1 root root 70 4月 10 02:26 mysql.ini
-rw-r--r-- 1 root root 71 4月 10 02:26 mysqli.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 odbc.ini
-rw-r--r-- 1 root root 83 4月 10 02:26 opcache.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 pdo.ini
-rw-r--r-- 1 root root 74 4月 10 02:26 pdo_mysql.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 pdo_odbc.ini
-rw-r--r-- 1 root root 79 4月 10 02:26 pdo_pgsql.ini
-rw-r--r-- 1 root root 76 4月 10 02:26 pdo_sqlite.ini
-rw-r--r-- 1 root root 75 4月 10 02:26 pgsql.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 pspell.ini
-rw-r--r-- 1 root root 76 4月 10 02:26 readline.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 recode.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 snmp.ini
-rw-r--r-- 1 root root 73 4月 10 02:26 sqlite3.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 tidy.ini
-rw-r--r-- 1 root root 48 4月 19 23:08 xdebug.ini
-rw-r--r-- 1 root root 25 2月 19 2014 xdebug.ini.org
-rw-r--r-- 1 root root 73 4月 10 02:26 xmlrpc.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 xsl.ini
root@ubuntu-VirtualBox:/etc/php5/mods-available# ls -la
合計 104
drwxr-xr-x 2 root root 4096 9月 24 20:16 .
drwxr-xr-x 6 root root 4096 5月 29 01:22 ..
-rw-r--r-- 1 root root 68 4月 10 02:26 curl.ini
-rw-r--r-- 1 root root 64 4月 10 02:26 gd.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 gmp.ini
-rw-r--r-- 1 root root 68 2月 18 2014 json.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 ldap.ini
-rw-r--r-- 1 root root 70 4月 10 02:26 mysql.ini
-rw-r--r-- 1 root root 71 4月 10 02:26 mysqli.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 odbc.ini
-rw-r--r-- 1 root root 83 4月 10 02:26 opcache.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 pdo.ini
-rw-r--r-- 1 root root 74 4月 10 02:26 pdo_mysql.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 pdo_odbc.ini
-rw-r--r-- 1 root root 79 4月 10 02:26 pdo_pgsql.ini
-rw-r--r-- 1 root root 76 4月 10 02:26 pdo_sqlite.ini
-rw-r--r-- 1 root root 75 4月 10 02:26 pgsql.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 pspell.ini
-rw-r--r-- 1 root root 76 4月 10 02:26 readline.ini
-rw-r--r-- 1 root root 72 4月 10 02:26 recode.ini
-rw-r--r-- 1 root root 73 4月 10 02:26 sqlite3.ini
-rw-r--r-- 1 root root 68 4月 10 02:26 tidy.ini
-rw-r--r-- 1 root root 48 4月 19 23:08 xdebug.ini
-rw-r--r-- 1 root root 25 2月 19 2014 xdebug.ini.org
-rw-r--r-- 1 root root 73 4月 10 02:26 xmlrpc.ini
-rw-r--r-- 1 root root 66 4月 10 02:26 xsl.ini
root@ubuntu-VirtualBox:/etc/php5/mods-available#
  

root@ubuntu-VirtualBox:/etc/php5/mods-available# php -v
PHP 5.5.9-1ubuntu4.4 (cli) (built: Sep 4 2014 06:56:34)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
root@ubuntu-VirtualBox:/etc/php5/mods-available#