仮想通貨のコミュニティによってはオンライン状態の人に通貨を投げる(rain)するものがあります。
PCだと最大10分で退席中になります。
スマホでアプリを開きっぱなしにしている人もいるようですが負荷は大きそうです。
ヘッドレスブラウザ(phantomjs+casperjs)でログイン状態を維持してみます。
まずクリックやスクロールだけではオンラインになりません。
今回はサーバー変更時にオンラインになるのを利用します。
(2019/1/22追記 ギルド一覧のセレクタが変更されたので修正)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
var casper = require('casper').create(); var $ = require('node_modules/jquery'); var TARGET ="https://discordapp.com/channels/どこかのアドレス"; var EMAIL = 'メルアド'; var PASSW = 'パスワード'; var outs =[]; var capop={ top: 0, left: 0, width: 1920, height: 1080 }; casper.userAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'); casper.start(TARGET, function(){ this.wait(10000); }); /* ログイン */ casper.viewport(1920, 5000).then(function(){ casper.echo(this.getCurrentUrl()); if(this.getCurrentUrl() !== TARGET){ this.sendKeys('input[type="email"]', EMAIL, {reset: true}); this.sendKeys('input[type="password"]', PASSW, {reset: true}); this.click('button[type="submit"]'); this.wait(10000); } }); var isA=true; function online(csp){ if(isA){ //サーバー変更とステータス画像保存 csp.click(".scroller-2FKFPG.guilds-1q_RqH > div:nth-child(6) a"); casper.captureSelector('tmp/onlineA.png', '.container-2Thooq'); }else{ csp.click(".scroller-2FKFPG.guilds-1q_RqH > div:nth-child(7) a"); casper.captureSelector('tmp/onlineB.png', '.container-2Thooq'); } isA=!isA; } casper.then(function(){ casper.echo("ONLINE - main"); casper.capture('tmp/ONLINEstart.png', capop); function loop(csp){ casper.echo(new Date().toString());//ログ online(csp); casper.wait((9*60*1000),function(){ loop(this); }); } loop(this); }); casper.run(); |
ログや画像保存は動作確認用です。
9分ごとに2つのサーバーを行き来してオンライン状態にしています。
もちろん他のブラウザやアプリでDiscordを使っても問題ありません。
ただ当然PCをつけっぱなしにする必要があるので仮想通貨マイニング(PoW・PoS)もしてる人向けの方法かもしれません。
これって現在でも動きますか?
26行目のcsp.click()の処理で何度やっても
Cannot dispatch mousedown event on nonexistent selector
のエラーになります。
セレクタ修正しましたが関係なく、どうやら
ページ要素がまるごと取得できてないぽいです
色々試したところ最初のアクセスからはじかれるように見えますね。
最近のアップデートでヘッドレスブラウザでのアクセスができなくなっているのかもしれません。
なにか方法がないかもう少し試してみます。