Usa il client per interagire con vecchiochan, ad esempio per pubblicare un nuovo thread o rispondere a uno esistente.
-
Pubblicare un nuovo thread
thread := client.Thread{
Board: "b",
Name: "",
Subject: "",
Email: "",
Spoiler: false,
Body: "Questo è un nuovo thread sulla board /b/", // Messaggio del thread
Embed: "",
Password: "",
Sage: false, // Impedisce il bumping e sostituisce l'email con "rabbia"
Files: []string{`C:\path\to\file.jpg`},
}
id, err := vc.NewThread(thread)
if err != nil {
log.Fatalf("Impossibile pubblicare il thread %+v. Errore: %v\n", thread, err)
}
fmt.Printf("Thread pubblicato con successo (id: %d) - %+v\n", id, thread)
Se l'operazione va a buon fine, l'id del nuovo thread viene restituito.
NB: non è necessario impostare tutti i campi per istanziare la struct Thread e lo si può fare con un set ridotto:
thread := client.Thread{
Board: "b",
Body: "Questo è un nuovo thread sulla board /b/", // Messaggio del thread
Files: []string{`C:\path\to\file.jpg`},
}
In questo caso, valori di default saranno assegnati agli altri campi.
Board è l'unico campo obbligatorio controllato dal client ma tieni presente che, poiché ogni board ha le sue impostazioni, potrebbero essere necessari più campi per postare (ad esempio, non è possibile postare un nuovo thread senza embed né file su /b/).
reply := client.Reply{
Thread: 1,
Board: "b",
Name: "",
Email: "",
Spoiler: false,
Body: "Questa è una nuova risposta al thread #1 della board /b/", // Messaggio della risposta
Embed: "",
Password: "",
Sage: false, // Impedisce il bumping e sostituisce l'email con "rabbia"
Files: []string{`C:\path\to\file1.mp4`, `C:\path\to\file2.webm`},
}
id, err = vc.PostReply(reply)
if err != nil {
log.Fatalf("Impossibile pubblicare la risposta %+v. Errore: %v\n", reply, err)
}
fmt.Printf("Risposta pubblicata con successo (id: %d) - %+v\n", id, reply)
Se l'operazione va a buon fine, l'id della risposta viene restituito.
NB: non è necessario impostare tutti i campi per istanziare la struct Reply e lo si può fare con un set ridotto:
reply := client.Reply{
Thread: 1,
Board: "b",
Body: "Questa è una nuova risposta al thread #1 della board /b/", // Messaggio della risposta
}
In questo caso, valori predefiniti saranno assegnati agli altri campi.
Board e Thread sono gli unici campi obbligatori controllati dal client, ma tieni presente che, poiché ogni board ha le sue impostazioni, potrebbero essere necessari più campi per postare.