Discourse Chat Bridge (Telegramm)

:information_source: Riepilogo Collega la tua chat di Discourse a Telegram
:hammer_and_wrench: Link al Repository https://github.com/Lhcfl/discourse-chat-bridge
:open_book: Guida all’installazione Come installare plugin in Discourse

Sto lavorando per collegare Discourse ad altre piattaforme. Attualmente supporta solo Telegram, ma in futuro prevedo di supportare Matrix, e forse Discord o QQ, a seconda della mia energia e del supporto che ricevo.

Questo plugin supporta solo il branch test-passed di Discourse assolutamente più recente. Perché? Poiché Discourse Chat cambia frequentemente il suo codice, devo sincronizzarmi con loro.

Quindi, se il plugin è disponibile sul tuo sito ed è importante per te, riduci la frequenza di aggiornamento di Discourse, perché potrei non avere il tempo di sincronizzare la versione del codice patch con Discourse.

Bridge Telegram

NOTE IMPORTANTI

Questo plugin utilizza nomi utente con suffissi .tgid e .tg per sincronizzare le informazioni utente (Telegram → Discourse)

Se ci sono nomi utente con i suffissi sopra sul tuo sito, l’utente potrebbe essere rilevato da questo plugin!

Elenco delle funzionalità

Questo plugin è attualmente un mio lavoro. È difficile per me dedicare troppe energie per correggere bug che ritengo non abbastanza urgenti. Quindi, se il bug che trovi non è in questo elenco, considera una PR.

Questo plugin supporta la sincronizzazione dei seguenti contenuti:

  • Testo normale (Certamente!)

  • Testo formattato: Grassetto, Corsivo, barrato, spoiler, codice inline e

    "blocco di codice"
    
  • Citazioni (solo Discourse → Telegram)
    Attualmente non supportiamo le citazioni per Telegram → Discourse perché Telegram non ha ancora aggiornato la sua API per le citazioni.

  • Immagini, sticker e video
    Mentre scrivo questa frase, sembra esserci qualcosa di rotto in Discourse. La semplice pubblicazione di un’immagine senza didascalia non attiverà l’evento :chat_message_created. Pertanto, è impossibile inoltrare immagini da Discourse a Telegram. Questo errore potrebbe essere risolto automaticamente in futuro, ma in ogni caso, lo risolverò.

  • Risposta

  • Modifica del messaggio (Solo testo)

  • Inoltro di messaggi (Telegram → Discourse)

  • Eliminazione del messaggio (Discourse → Telegram)
    NON supporteremo l’eliminazione dei messaggi per Telegram → Discourse perché l’API del bot di Telegram non fornisce un’interfaccia per l’ascolto degli eventi di eliminazione dei messaggi.

  • Avatar e nomi utente (Telegram → Discourse)

I seguenti contenuti non sono implementati e sono pianificati per essere supportati in futuro

  • Citazione (Telegram → Discourse)
  • Immagini album (Discourse ↔ Telegram)
    Attualmente supporta solo la sincronizzazione della prima immagine

Anteprima


Configurazione

SiteSetting.chat_telegram_bridges

È una lista e devi compilare ogni colonna in questo formato:

discourse_chat_channel_id,telegram_chat_id,bot_token

Per esempio

3,-123456789,123456789-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

collegherà il canale chat di discourse 3 ↔ chat telegram -123456789 utilizzando il bot con token 123456789-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

NON aggiungere spazi dopo le virgole.

Non è certamente elegante, ma non ho energie extra per scrivere un’interfaccia di configurazione bella per questo. Per favore, fai una PR se la desideri.

Consenti sincronizzazione video e sticker video

Gli sticker dinamici, le gif e i video di Telegram sono fondamentalmente in formato webp. Devi consentire il caricamento in SiteSettings.authorized_extensions, altrimenti otterrai solo un [Questo messaggio non è ancora supportato]

CHANGELOG

  • 07/11/2023 Rilasciato 0.0.1

TODO

  • Bridge Matrix a discourse
23 Mi Piace

Sembra fantastico, buon lavoro! :+1:

Questo dovrebbe essere site_settings :slight_smile:

2 Mi Piace

Oh mio Dio, grazie, lo cambierò subito

…E dovrebbe essere in client.en.yml. Ho scritto il codice la mattina presto e sembra che la qualità del codice sia un po’ scadente. :melting_face:

3 Mi Piace

Ottimo lavoro, grazie per averlo creato!

4 Mi Piace

L’ho testato un po’ e funziona bene! :+1:

2 Mi Piace

Ciao!
Grazie per questo fantastico plugin :raised_hands: È quello a cui stavo pensando negli ultimi mesi :confetti_ball:. Sembra che tu abbia colto i miei pensieri :sweat_smile:
Voglio chiarire. Il plugin funzionerà solo per la modalità chat o può anche essere collegato a un argomento?

Puoi elaborare un po’ più specificamente?

2 Mi Piace

Ciao! Scusa se non ho espresso abbastanza i miei pensieri :pray:. Sto usando Google Traduttore e non posso essere sicuro di capire correttamente i post su questo forum. E non so programmare, quindi non capisco sempre i messaggi dei programmatori. Lascia che ti mostri la mia domanda sotto forma di diagramma:

Probabilmente capisco cosa intendi… Vuoi che il contenuto della chat venga pubblicato contemporaneamente nell’argomento?
Avevo un software nodejs già pronto prima di questo, ma doveva essere adattato ad altri forum. E sono stato molto impegnato di recente e non ho tempo per farlo.
Per un po’, supporterà solo la chat.

2 Mi Piace

Non sono del tutto sicuro di aver capito bene la tua domanda, ma proverò a spiegare passo dopo passo quello che immagino. Nel periodo dal 2021 al 2022, ho tentato di creare un forum basato su Discourse. Tuttavia, nonostante la rilevanza del forum, il progetto non ha avuto successo perché, nella nostra regione (Asia Centrale), la maggior parte dei residenti preferisce utilizzare messaggeri come Telegram e WhatsApp piuttosto che registrarsi e utilizzare nuove funzionalità sui siti web.

Con l’avvento dell’intelligenza artificiale, ho osservato cambiamenti nelle regole del gioco. Sono emersi vari servizi, inclusi siti web e applicazioni progettati per l’uso dell’intelligenza artificiale. I messaggeri non possono fornire appieno la funzionalità per lavorare con l’intelligenza artificiale, sebbene Telegram sia più avanzato di WhatsApp. Venendo a conoscenza dei nuovi plugin in Discourse, come Discourse AI e Chatbot, ho capito che questa era una nuova opportunità per il mio sito web.

Voglio sfruttare appieno la capacità di creare post tematici (argomenti). Recentemente, ho posto una domanda qui - su Meta riguardo al plugin Chatbot, chiedendomi se la chat GPT potesse ricordare il primo post e non dimenticare il contenuto dell’argomento principale dopo numerosi messaggi nella discussione. Poi, @merefield ha risposto che il chatbot ricorderà sempre il primo post. Questo è diventato il criterio principale per applicare questo plugin sul mio sito.

Ho intenzione di creare sezioni tematiche sul forum per l’interazione con l’intelligenza artificiale e persone reali. Il formato di comunicazione in Discourse attraverso la creazione di argomenti è tecnicamente più avanzato rispetto alle chat. Pertanto, le chat non sono del tutto adatte per addestrare il bot poiché in una chat, il bot potrebbe non ricordare l’argomento iniziale tra numerosi messaggi recenti. Ho intenzione di utilizzare la capacità di creare post tematici, addestrando il bot nel primo post in modo che possa rispondere alle domande degli utenti all’interno dell’argomento specificato.

Tuttavia, considerando la popolarità dei messaggeri nella nostra regione e l’abitudine delle persone di usare le chat, sto contemplando come fornire agli utenti l’esperienza del forum Discourse senza abbandonare i loro familiari messaggeri. Dopo aver installato il plugin Discourse Chat Bridge, ho scoperto che collega la chat di Discourse con la chat di Telegram ma non crea un ponte tra un post pubblicato sul forum e la chat di Telegram.

I miei piani includono:

  1. Un utente (possibilmente personale del sito) invia un messaggio privato (PM) al bot AI sul forum con istruzioni su come il bot dovrebbe rispondere ai messaggi successivi, come consigliare ad altri utenti sull’uso del forum.

  2. L’utente collega questo messaggio privato all’intelligenza artificiale in un normale bot Telegram.

  3. L’utente condivide il link al bot Telegram con altri utenti che non sono ancora registrati sul forum ma desiderano saperne di più.

  4. Ogni utente, cliccando sul link nel bot Telegram, avvia una conversazione privata con l’intelligenza artificiale, che risponde e consiglia secondo le istruzioni pubblicate sul forum.

  5. Tutti i messaggi degli utenti diretti all’intelligenza artificiale vengono pubblicati in un argomento privato del forum. Pertanto, gli utenti di Telegram non vedono i messaggi di altri utenti di Telegram, poiché ogni utente comunica separatamente con il bot Telegram.

Quindi avete intenzione di usare il bot Telegram come imbuto per gli utenti che arrivano sul forum o volete permettere agli utenti di rimanere solo su Telegram interagendo con il bot AI (il bot AI che funge da proxy tra il contenuto del forum e l’utente)?

1 Mi Piace

Va bene… questa sembra una funzionalità molto personalizzata e non penso che aggiungerei questa funzionalità gratuitamente, perché la mia energia è molto limitata.

1 Mi Piace

Sì, è corretto, il bot/chat di Telegram verrà utilizzato come specchio e duplicherà i contenuti dal forum e viceversa.

Ok, ho capito. Al momento sto facendo lavori di preparazione generali sul mio sito web. Se me lo permetti, tornerò su questo argomento tra qualche settimana con proposte più specifiche in un messaggio personale.

Sono molto interessato a questo e mi offro di aiutare se necessario.

1 Mi Piace

Okay, grazie per l’offerta :raised_hands:, tornerò appena sarò pronto.

1 Mi Piace

Durante il test, sembra che abbia scoperto un bug nel plugin. Dopo aver inviato un messaggio alla chat tramite Telegram –> Discourse, non appare nulla sul sito nella chat (a volte appare solo il nome utente 1234567890.tgid). Per risolvere questo problema devo aggiornare la pagina del sito. Dopo l’aggiornamento, appare il nome del mittente del messaggio, ma il contenuto del messaggio stesso non viene visualizzato. Per risolvere questo problema, riorganizzo l’HTML e quindi appare il testo del messaggio della chat. Ecco un video:

Inoltre, volevo chiarire. Se invio un messaggio tramite Telegram a una chat di gruppo senza utilizzare il pulsante Rispondi, il messaggio non raggiunge la chat in Discourse. Si scopre che affinché il messaggio venga inviato, devo selezionare la funzione Rispondi nella chat di telegram. Ma cosa succede se non voglio rispondere al messaggio di nessuno nella chat, ma voglio solo inviare un messaggio con una domanda a tutti i membri del gruppo?

1 Mi Piace

Ho notato questo problema qualche giorno fa, non ho mai trovato il tempo di risolverlo, davvero. La mia lista di cose da fare è piena in questo momento.

Un recente aggiornamento a Discourse Chat ha rotto questo plugin. Devo trovare il tempo di adattarlo, o inviare direttamente le funzioni di cui ho bisogno al core.

Sto aspettando una risposta. Ora, a causa della mancanza di questa funzionalità, devo monkey patch, e il mio plugin potrebbe essere rotto da un commit in qualsiasi momento.

2 Mi Piace

Ok, ho capito. Spero che il team di sviluppo presti attenzione al tuo messaggio :pray:

1 Mi Piace