banFav.js

概要

特定の条件に当てはまるtweetへ、favを禁止します。定数BANNINGを編集してください。
キーボードショートカットのFと0を上書きします。

必要条件

Azurea 1.4.4にて確認

スクリプト

/**
 * @fileOverview Ban favorite with conditions.
 * @author ne_Sachirou
 * @version 2012/12/07
 * @license Public Domain
 */

/** @const */
var BANNING = {
  /** @type {Array.<string>} */
  user: [ 'ne_sachirou', 'c4se_always' ],

  /** @type {Array.<RegExp>} */
  regex: [],

  /** @type {Array.<function(StatusObject):boolean>} */
  fun: []
};

/**
 * @param {Array.<Object>} conditions
 * @param {function(Object):boolean} fun
 * @return {boolean}
 */
function check (conditions, fun) {
  var i = iz = 0;

  for (i = 0, iz = conditions.length; i < iz; ++i) {
    if (fun(conditions[i])) return true;
  }
  return false;
}

/**
 * @param {String} status_id
 */
function favorite (status_id) {
  var status = TwitterService.status.get(status_id);

  if (status.favorited) {
    TwitterService.favorite.destroy(status_id);
    return;
  }
  if (check(BANNING.user,
            function (user) { return status.user.screen_name === user; }) ||
      check(BANNING.regex,
            function (regex) { return regex.test(status.text); }) ||
      check(BANNING.fun,
            function (fun) { return fun(status); })) {
    System.showNotice('Banned to favorite.');
    return;
  }
  TwitterService.favorite.create(status_id);
}

System.addKeyBindingHandler(
  'F'.charCodeAt(0),
  0,
  function (status_id) { favorite(status_id); });
System.addKeyBindingHandler(
  '0'.charCodeAt(0),
  0,
  function (status_id) { favorite(status_id); });
// System.addGestureHandler([], function (status_id) { favorite(status_id); });
 

コメントとか


もし見えてたら空欄にしてね!:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-27 (土) 10:33:39 (1443d)