---
name: giro-follow-della-domenica
description: "Il giro quotidiano dei follow: ricambiati e persi, riseguiti per sbaglio da togliere subito, unfollow dopo 7 giorni, due like e un DM ai 20 più vecchi in coda, follow dai follower di madness_vale per pareggiare; si seguono solo gli editori. Stato in dati/follow_reciproci.json"
metadata:
  node_type: memory
  type: project
  originSessionId: db694db6-2abf-4967-806a-2224841ab59f
  modified: 2026-10-06T07:13:46.414Z
---

Chiesto da Paolo il 27/9/2026, quotidiano dal 28/9, **con il suo ok ogni giorno** (il sistema di permessi blocca gli
invii altrimenti). I numeri del giorno stanno in [[stato-scaletta-e-coda]], chi è stato contattato e con che testo in
`dati/follow_reciproci.json` (stati: `da_contattare`, `contattato`, `ricambiato`, `escluso`, `unfollow`, `perso`).

## Il giro, nell'ordine

1. **Elenchi del giorno** di follower e seguiti; **ricambiati** (contattati o in coda che ora ci seguono: stato
   `ricambiato` con data e `descrizione` in poche parole italiane, che serve allo scambio con Valentina) e **persi**
   (Paolo, 4/10: chi ci seguiva e ci ha tolto il follow). Un assente dall'elenco non è una prova: si verifica con
   `/followers/?count=12&query=<username>`. Chi ci ha lasciato e che seguiamo: stato `perso` e unfollow, salvo storici,
   editori e autori dei post in coda.
2. **Unfollow** di chi è stato contattato **7 giorni prima** e non segue (7 e non 4: i DM a chi non ci segue finiscono
   nelle Richieste, che si aprono tardi). Unfollow sotto i 20-30 al giorno.
3. **Due like** ai due post più recenti non fissati, poi il **DM**, ai **20 più vecchi** in coda; i seguiti nuovi vanno in
   fondo alla coda (`pos` negativo).
4. **Follow dai follower di @madness_vale** (Paolo, 5/10): tanti quanti servono per pareggiare follower e seguiti (es.
   830 seguiti e 845 follower: 15). Solo chi parla di giochi da tavolo, non lo seguiamo e **non ci segue già** (bottone
   "Segui", non "Segui anche tu"); niente autori, illustratori, account fantasma o profili che seguono migliaia di persone
   con pochi post. Dei primi 900 follower di Vale quasi tutti quelli coi nomi da giochi sono già reciproci: si scende
   nell'elenco e per i nomi generici si guarda la bio. Vanno in coda (`da_contattare`).

**Riseguiti per sbaglio (Paolo, 6/10/2026).** Paolo segue a mano e non può ricordare chi abbiamo già seguito, scritto e
tolto: *"se questi account [...] a te risultano già follow e unfollow in passato, quando fai il tuo giro mattutino, fanne
direttamente unfollow"*. Nel passo 1 i seguiti del giorno si incrociano col JSON: chi è in stato `unfollow` (o `perso`)
e torna fra i seguiti si toglie subito, **senza un secondo DM** (il primo resta nella nostra chat con loro). Si
tengono solo se nel frattempo ci seguono (diventano `ricambiato`) o se sono editori. Lo stesso controllo vale prima di
ogni follow dai follower di madness_vale: chi è già nel JSON, in qualunque stato, non si risegue.

**Chi è escluso dai DM**: gli storici (amici e account seguiti da tempo: né DM né unfollow) e editori, autori e
illustratori dei nostri elenchi. Tutti gli altri lo ricevono, anche se non parlano di giochi (Paolo, 30/9: *"molti sono
attivi su altri account che trattano giochi da tavolo. li ho seguiti apposta"*), e anche gli editori indipendenti che
non sono nei nostri elenchi.

**Il DM**: primo paragrafo personale sul suo canale (bio e ultimi post letti davvero, didascalie comprese), poi la
presentazione standard (`testi_standard` nel JSON: `en`, `en2`, `en3` che ruotano, de/de_du, es/es_ustedes/es_tu, fr/fr_tu,
pt_br, cs, tr, ru, nl, it; per l'olandese a una persona sola "je/je volgt"), poi "Paolo". **Nella lingua di chi c'è dietro,
non solo della bio** (Paolo, 2/10): Matter of Nuts scrive in inglese ma è italiano, DM in italiano. Tu/voi secondo
persona o gruppo. Un paragrafo per idea, niente grassetto. Di dove siamo: **Sanremo** (Paolo, 3/10), non il paese vero.

## Si seguono solo gli editori (Paolo, 4/10/2026)

*"Seguire solo Editori. Autori ed Illustratori non me li segui più."* Per un gioco nuovo l'editore si segue, autori e
illustratori si trovano, si taggano e si invitano come collaboratori senza seguirli (il limite "tag solo da persone che
segui" riguarda chi seguono loro). **Chi ci segue resta seguito** (*"Chi ha ricambiato il follow lo teniamo"*). Gli
autori e illustratori che non ricambiavano sono stati tolti dal 4 al 6/10, una decina al giorno. **Eccezioni da tenere**
(5/10, *"fanno giochi che mi piacciono"*): @garphillgames e @samphillipsillustration, `escluso` nel JSON.

## Come si fa (tecnica verificata)

- **API interna dal browser**: `X-IG-App-ID: 936619743392459`, `X-ASBD-ID: 129477`, `X-CSRFToken` dal cookie, id nostro
  nel cookie `ds_user_id`. Elenchi: `/api/v1/friendships/<uid>/followers/` e `/following/?order=date_followed_latest`
  con `count=100` (ne dà 25 per pagina) e `max_id`; un ciclo **senza pause** dentro una sola chiamata JS li legge in
  20 s. Con la scheda nascosta i `setTimeout` quasi si fermano: niente sleep JS nei cicli, le attese fra azioni con
  `computer wait`; le letture di stato (`/api/v1/friendships/show/<id>/`, campi `following` e `followed_by`) in parallelo
  con `Promise.all`. `web_profile_info` dà 429: i profili si leggono aprendo la pagina.
- **Gli elenchi non passano più dal browser al disco** (6/10: la copia negli appunti non arriva, il ponte locale è negato
  dai permessi). Si salvano nel localStorage di instagram.com (`bgp_follower_<data>`, `bgp_seguiti_<data>`) e i confronti
  si fanno nel browser, incollando nel codice gli elenchi presi dal JSON. Gli elenchi su disco in `dati/follower/` e
  `dati/seguiti/` arrivano fino al 5/10.
- **Unfollow**: dal profilo "Segui già" → "Non seguire più" → il bottone torna "Segui"; verifica con `friendships/show`
  o `/following/?query=`. `friendships/destroy` e `web/comments/like` dal browser rispondono 200 e non fanno niente.
- **Like**: sulla pagina del post, `svg[aria-label="Mi piace"][height="24"]`, controllo che diventi "Non mi piace più".
- **DM**: `ig.me/m/<username>`, attesa 7 s, controllo che sopra "Visualizza profilo" ci sia lo username e che il testo non
  sia già nella chat, `ClipboardEvent('paste')` sul `[contenteditable]`, click su "Invia", verifica. Un DM per chiamata, 30-55
  s fra uno e l'altro. Se resta fermo su `instagram.com/m/<user>`: dal profilo "Messaggio", si apre la chat piccola in basso.
  Due schede (una per unfollow e letture, una per like e DM) fanno cadere gli unfollow fra un DM e l'altro.
- Si registra con `python3 codice/follow_registra.py <username> <lingua> "<testo>"`; i ricambiati vanno nel gestionale
  (pagina Follow) con `gestionale.py follow carica --dal <data>`, il lunedì o quando Paolo lo chiede.
- Chrome se è chiuso si apre con `open -a "Google Chrome"` e l'estensione si collega da sola.

## Seguire gli account di Valentina (dal 2/10/2026)

Dalla pagina Follow del gestionale (`gestionale.py follow --di valentina --da-seguire`): si seguono dal profilo a 30-50 s
l'uno dall'altro, poi `gestionale.py follow seguito <handle>`. Una ventina al massimo per giro, sotto i 40-50 follow al
giorno contando tutto: un account piccolo che fa troppe azioni rischia il blocco temporaneo.
