Sarei felice di invitarti nella mia istanza! Non so se il tuo plugin registri da qualche parte, ma potrei inviarti quei log se può essere d’aiuto.
EDIT: Quando hai autorizzato il bot, quali permessi gli hai assegnato lì?
Sarei felice di invitarti nella mia istanza! Non so se il tuo plugin registri da qualche parte, ma potrei inviarti quei log se può essere d’aiuto.
EDIT: Quando hai autorizzato il bot, quali permessi gli hai assegnato lì?
Il bot necessita dell’accesso Amministratore:
Devi concedere le autorizzazioni tramite il browser come descritto qui (e nell’OP):
qualcosa del genere: https://discord.com/api/oauth2/authorize?client_id=YOURCLIENTID&scope=bot&permissions=8
Il tuo problema è quasi certamente lato Discord, dato che il server del bot Discourse sembra essere in esecuzione (lo hai dimostrato con il comando Ping!), quindi i log di Discourse non saranno rilevanti.
Ho appena riprovato questo plugin sull’ultima versione di Discourse e tutto funziona (ho aggiornato alcune gem a una versione più moderna per garantire la compatibilità con altri plugin, ma questo non è rilevante per il tuo problema).
Sì, l’ho reinvitato un paio di volte senza alcun cambiamento. È un amministratore e ha l’ambito del bot. Sono io che lo invito su Discord, sono il proprietario del server Discord. Semplicemente non mi riconosce e restituisce: “Non hai il permesso di eseguire il comando discsync!”
Sono perplesso, purtroppo!
Evviva! Sembra che io sia riuscito in qualche modo a corrompere l’ID del gruppo Admin! A quanto pare, nel mio copia-incolla potrebbe essermi sfuggito un numero…
Quindi, come domanda di seguito, ora sto cercando di assegnare colori agli utenti su Discord in base al loro livello di fiducia su Discourse. Per far sì che i livelli di fiducia vengano copiati, penso che il comando dovrebbe essere:
!discsync false, 0, true
È corretto? Per me restituisce quanto segue:
EDIT: Lo stesso risultato si ottiene anche se eseguo il comando senza virgole, ovvero:
!discsync false 0 true
Aumenta il tuo livello di visibilità. I gruppi automatizzati standard predefiniti hanno livello di visibilità 1 (“Utenti connessi”); quindi, se questo valore è zero, escludi i gruppi automatizzati predefiniti:
Lo zero includerà solo i gruppi visibili a tutti, inclusi gli utenti anonimi.
È tutto a posto da parte mia. Grazie mille, molto apprezzato.
Posso ricambiare scrivendo qualcosa di quello che ho imparato nella tua guida? Se non è possibile, nessun problema; voglio solo ricambiare il tuo supporto.
È molto gentile. Sarei lieto di farti modificare il testo. Dovresti già essere in grado di farlo? È una wiki.
Hai anche aiutato me a ravvivare la memoria ![]()
Non ho davvero bisogno della sincronizzazione dei ruoli, ma sarebbe bello avere un bot di Discord che pubblichi in canali specifici del server Discord quando vengono creati nuovi argomenti nel forum. Esiste qualche plugin in grado di farlo?
Sì, probabilmente questo plugin non è lo strumento giusto per questo. Il bot è alimentato dal tuo Discourse e può accedere ai tuoi dati Discourse (quando consentito e richiesto tramite comando), ma viene eseguito in un thread separato, quindi non riceverà segnali dagli eventi di Discourse.
Immagino che potrebbe essere fattibile estenderlo in futuro, ad esempio per monitorare la creazione di nuovi argomenti in una categoria specifica. Non è il miglior utilizzo di questa architettura, ma le pull request sono benvenute.
Sembra che tu debba investigare:
Oppure
Sì, ho esaminato entrambe le opzioni. La prima, Zapier, non è gratuita. Puoi creare fino a 5 Zaps gratuiti, ma si tratta di Zaps a singolo passaggio. Questo è esattamente quanto affermato in quel thread, quindi l’alternativa proposta è il plugin discourse-chat-integration, che dovrebbe essere un plugin ufficiale. Penso che sia il modo più vicino per fare ciò che voglio.
L’ultima opzione sembra essere un plugin per feed RSS:
Aggiornamento: Dopo aver imparato a configurare correttamente le regole e i webhook, l’integrazione chat fa esattamente ciò che volevo! Grazie.
Ciao @merefield,
grazie ancora per averci contattato riguardo a questo plugin!
Ho installato tutto come descritto nella documentazione. Uso questo comando: !discsync e per me sembra tutto a posto. ![]()
Tuttavia, per alcuni utenti (non per tutti), ottengo questo errore per tutti i loro gruppi:
Discourse Sync: [11/31] Aggiunta del membro 'MaxMustermann' a 'Member'
Discourse Sync: Sembra che non abbia i diritti per farlo!
ERRORE sul server XYZ (ID: 123123123123) per il comando ^add_role, metodo 'add_role' non definito per nil:NilClass
Altri utenti riescono invece a essere sincronizzati nello stesso gruppo ![]()
Ciò suggerisce che il tuo provider_uid in Discourse non è impostato per quell’utente. Si prega di indagare.
Complimenti per aver configurato tutto, a proposito. È piuttosto complesso e non per i deboli di cuore! :).
Ho eseguito questa query nel plugin Knowledge Explorer:
SELECT *
FROM user_associated_accounts u
WHERE u.provider_name = 'discord'
Non posso pubblicare il risultato per motivi
, ma ho controllato ogni utente per il suo provider_uid e ogni utente ne ha uno. C’è qualcos’altro che potrei analizzare?
Quindi il problema più probabile è che l’UID di Discord attualmente mappato sia errato.
Cioè, i dati in Discourse non corrispondono a un UID valido in Discord.
Controlla manualmente il record di questo utente su Discord e conferma che sia corretto.
Ehi, posso confermarlo. L’utente ha un UID diverso in Discourse rispetto a Discord.
Come si può riprodurre questo problema?
Potresti eliminare l’associazione e chiedere all’utente di ricrearla collegando di nuovo Discord? Se il problema si ripresenta, potrebbe esserci un bug nel login tramite social.
Ciao,
Volevo solo fare un follow-up. Ho parlato con le persone che hanno avuto questi problemi e siamo riusciti a individuare il possibile errore.
L’utente si è registrato con il suo vecchio account Discord, che non ha usato per entrare nel server. Quindi, il Sync Bot non è riuscito a trovare l’utente su Discord e ha generato un errore.
Grazie per aver chiarito. Puoi confermare come hai risolto? Hai eliminato la sua associazione e poi gli hai chiesto di associarsi di nuovo?
È quello che abbiamo fatto. ![]()