特定の条件に当てはまるtweetへ、favを禁止します。定数BANNING
を編集してください。
キーボードショートカットのFと0を上書きします。
codeは右記のAzurea Wikiにて管理します。[Scripts/banFav.js - Azurea Wiki http://azurea.info/ja/wiki/index.php?Scripts%2FbanFav.js ]
/** * @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); });