Dal fatto che "Solo gli utenti con account Twitter avranno accesso a questo e richiederò agli utenti di accedere per poter accedere a questo pulsante" significa semplicemente che l'utente GIÀ ha accesso, prima di iniziare a creare il Pagina HTML.
Vale a dire, prima di accedere, l'utente vedrà una forma di pagina HTML, ma dopo l'accesso e al tuo server web l'hai autenticato tramite OAUTH2, quindi creerai l'HTML in modo specifico per accedere in passato.
Ciò aiuterà anche a rispondere "l'utente ha effettivamente twittato", poiché ora puoi collegare l'userid, con il contatore tweet per specificamente quell'utente - 0 o 1. Ie, hai bisogno di mantenere un database a il lato server di tutti gli userid che lo hanno twittato, quindi aggiungono / rimuovono ogni volta che viene aggiunto un nuovo utente o il vecchio utente rimuove da esso. (che rispondono alla domanda 2)
Ora, finalmente è la visualizzazione del pulsante: semplice, basta controllare il database, se l'id utente è lì, visualizzarlo, altrimenti non generare il pulsante per l'HTML.
Come puoi vedere, tutto è fatto dal lato server - proprio come le informazioni dipendenti dall'utente per stackexchange.com. Se crei Javascript incorporato per generare la generazione di HTML? beh, non è sicuro, e anche sbagliato, perché l'utente può accedere / eliminare da due PC / browser diversi, e si otterranno incongruenze.