script2の処理で一部のユーザーがすっぽ抜けてフォロー解除しか走らない(原因不明)ので
事前にフォローリストのエクスポートをすることを強く推奨します
API制限がかかるっぽい?ので
script2は日を挟んで1日50ユーザーづつくらいでやったほうがよさそう
// !!事前にフォローリストのエクスポートをすることを強く推奨します(備考.md参照)!! | |
// 1. 実行(▶) | |
// 2. 出力された最終ユーザーIDとIDリストをメモ帳とかにコピペ | |
// 3. 「1.」と「2.」を「完了したっぽい」が出るまで繰り返す | |
// 4. script2へ移る | |
#API_LIMIT = 30 | |
#inputStrings = readline( | |
"前回実行時の 最終ユーザーID を入力 | |
初回実行時は空欄" | |
) | |
#nullConv = Arr:join([inputStrings, ""]) | |
#prevLastUser = nullConv | |
$followees <- {} | |
? (prevLastUser = "") { | |
followees <- Mk:api("users/following" { userId: USER_ID limit: API_LIMIT }) | |
} . { | |
followees <- Mk:api("users/following" { userId: USER_ID untilId: prevLastUser limit: API_LIMIT }) | |
} | |
? (Arr:len(followees) < API_LIMIT) { | |
<: "完了したっぽい" | |
} . { | |
#lastUser = Arr:pop(followees) | |
<: "─ 最終ユーザーID ─" | |
<: lastUser.id | |
<: "──────────" | |
} | |
<: " " | |
<: "─ IDリスト ─" | |
~~ #user, followees { | |
? (user.followee.host = "misskey.io") { | |
#outStr = ["\"", user.followee.id, "\""] | |
<: Arr:join(outStr) | |
} .? (user.followee.host = "misskey.dev") { | |
#outStr = ["\"", user.followee.id, "\""] | |
<: Arr:join(outStr) | |
} .? (user.followee.host = "co.misskey.io") { | |
#outStr = ["\"", user.followee.id, "\""] | |
<: Arr:join(outStr) | |
} | |
} | |
<: "───────" |
#idList = [ | |
// 1. ↓↓script1で何回もコピペして作ったIDリストから↓↓ | |
// ↓↓10行くらいをコピーしてここに貼り付け↓↓↓↓↓↓↓ | |
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ | |
// 2. 実行(▶) | |
// 3. 1分くらい待つ | |
// 4. 「1.」~「3.」を全部の行が処理できるまで繰り返す | |
] | |
~~ #user, idList { | |
Mk:api("following/delete" { userId: user }) | |
Mk:api("following/create" { userId: user }) | |
} |