TERFBLOCKER5000
1.0.0
TERFS-トランス排他的急進的な「フェミニスト」 - は、ジュディス・バトラーが呼んだようにファシストの傾向であるイギリスの現象に、かなり厄介で、主に(ただし限定的ではありません)。彼らは「女性と女の子の権利のために戦う」ふりをしますが、実際にはトランスの人々についての憎しみと誤った情報を広めます。彼らは「懸念している母」から完全なテロリストまで、そして彼らのalt -rightの仲間と同じように、さまざまなフレーバーがあります。
terfblocker5000ユーザープロファイル(ディスプレイ名、バイオ、場所)をスキャンし、単語リストに対してそれらをフィルターします。もちろん、それは完璧ではありませんが、最も憎むべきアカウントの大部分をキャッチします(テスト環境で1,800万人のスキャンされたアカウントの約2% - フォーゴンの詩の味を得る)。
// @see https://github.com/chillerlan/php-oauth-providers/blob/main/examples/get-token/Twitter.php
$ token = ( new AccessToken )-> fromJSON ( file_get_contents ( $ CFGDIR . ' /Twitter.token.json ' ));
$ wordlist = require $ CFGDIR . ' /wordlist.php ' ;
$ terfblocker
// import a new twitter oauth token if needed
-> importUserToken ( $ token )
// set the list of terms to match against (required)
-> setWordlist ( $ wordlist )
// fetch from replies to a given tweet
// the 2nd parameter toggles the API request limit enforcement
-> fromMentions ( ' https://twitter.com/Nigella_Lawson/status/1441121776780464132 ' , true )
// or just the @-mentions of a user
-> fromMentions ( ' https://twitter.com/Lenniesaurus ' , true )
// from an advanced search
// @see https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/guides/standard-operators
-> fromSearch ( ' #IStandWithJKRowling ' , true )
// from the followers of the given account
-> fromFollowers ( ' https://twitter.com/HJoyceGender ' , true )
// from the accounts the given account follows
-> fromFollowing ( ' https://twitter.com/HJoyceGender ' , true )
// from followers AND following from a list of screen names ()
-> fromFollowersAndFollowing ([ ' ALLIANCELGB ' , ' Transgendertrd ' , ' fairplaywomen ' ], true )
// adds each of the given screen_names to the given block list (always, block, never)
-> fromScreenNames ([ ' ALLIANCELGB ' , ' Transgendertrd ' , ' fairplaywomen ' ], ' always ' )
// fetches the retweeters of the given tweet - note that the results of this endpoint
// may not return *all* but only the *recent* retweeters - whatever that means...
-> fromRetweets ( ' https://twitter.com/fairplaywomen/status/1388442839969931264 ' )
// fetches all users of the given (private) list
-> fromList ( ' TERFBLOCKER5000 ' , ' always ' )
// adds the user IDs from the block list of the currently authenticated user to the profile table
-> fromBlocklist ()
// add user IDs found in the given JSON file
-> fromJSON ( __DIR__ . ' /users.json ' )
// exports the block list from the database into a JSON file in the given path
-> exportBlocklist ( __DIR__ . ' /../json/ ' )
;
/**
* cron methods
*/
$ terfblocker
// adds a list of screen names to the "scan jobs" table
-> cronAddScreenNames ([ ' ALLIANCELGB ' , ' Transgendertrd ' , ' fairplaywomen ' ])
// scans followers/following for users in the scan jobs table, @see /cron/fetch_follow.php
-> cronScanFollow ();
// the profile fetcher @see /cron/fetch_profiles.php
$ terfblocker -> cronFetchProfiles ();
// rescans the profile table against the given wordlist
$ terfblocker
-> setWordlist ( $ wordlist )
-> cronScanByWordlist ();
// performs blocks for the currently authenticated user, @see /cron/perform_block.php
$ terfblocker -> block ();