ne_NGID †概要 †注:これのスクリプトは現在ではメンテナンスされていません。ホームタイムライン以外でのNGが不要なら、Scripts/UserBlock.jsを使ってください。 NGID.js #AzureaScript — Gist 必要条件 †API Level 10以上 スクリプト †// ==AzureaScript== // @name ne_NGID // @author http://c4se.sakura.ne.jp/profile.html // @scriptUrl https://gist.github.com/raw/907791/ // @date 2011-04-07 // @license Public Domain // ==/AzureaScript== // == Usage // Write [user.ne_NGID] section & NGID field to Azurea.ini // ex. // [user.ne_NGID] // NGID=c4se_always, ne_sachirou // // cf. // [Twitter / @せい: @ne_sachirou .。oO(AzureaはNGIDが無いのが最大の難点かなぁ。無いよねぇ?後リストだとNGが無効になる。さっちゃん拡張で出来る??)]( https://twitter.com/#!/sei_mel/status/55975058979565568 ,"") // [Twitter / @ももんが戦隊☆さっちゃんであるぞ: @sei_mel IDだけを決め打ちでfilterするのなら、インターフェースの簡単に出来ますし、直ぐですね。特にAzureaVimと独立にして、iniに手書きするタイプなら、本当に直ぐですね。水分補充したら作ってみましょう。]( https://twitter.com/#!/ne_sachirou/status/55975600556482561 ,"") // [Twitter / @せい: @ne_sachirou .。oO(ありがとー♪助かります。震災時にヒスリックなタイムラインになった時に大分リムーブしちゃって。NGIDないかなぁって思ってたんです。)]( https://twitter.com/#!/sei_mel/status/55975917280956416 ,"") if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (v, // @param Object: n) { // @param Number=0: // @return Number: not found = -1 var i = 0, iz = this.length; n = n || 0; while (n < 0) { n += iz - 1; } for(i = n; i < iz; ++i) { if (this[i] === v) { return i; } } return -1; }; } var NGIDs = System.settings.getValue('user.ne_NGID', 'NGID').split(','), i = 0, NGIDs_length = NGIDs.length; for (; i < NGIDs_length; ++i) { NGIDs[i] = NGIDs[i].replace(/(?:^\s+)|(?:\s+$)/g, ''); } function PreProcessTimelineStatus(status) { if (NGIDs.indexOf(status.user.screen_name) !== -1) { status.text = status.text.replace(/./g, '*'); } } function PreFilterProcessTimelineStatus(status) { return NGIDs.indexOf(status.user.screen_name) !== -1; } if (System.apiLevel >= 15) { TwitterService.addEventListener('preProcessTimelineStatus', PreProcessTimelineStatus); TwitterService.addEventListener('preFilterProcessTimelineStatus', PreFilterProcessTimelineStatus); } コメントとか † |