Notifiche dei commenti
Quando un utente pubblica un commento sul sito o risponde a un commento, Waline può inviare notifiche via e-mail o WeChat al blogger e all'autore della risposta.
- Supportiamo vari tipi di notifica per il blogger
- Inviamo un'e-mail a un visitatore non appena il suo commento riceve una risposta.
Notifica via e-mail
Per la notifica via e-mail servono le seguenti variabili d'ambiente:
SMTP_SERVICE: il provider del servizio di invio e-mail SMTPTips
Puoi trovare tutti i provider supportati in nodemailer services. Se il tuo provider non è in elenco, devi configurare
SMTP_HOSTeSMTP_PORT.SMTP_HOST: indirizzo del server SMTP; di norma si trova nella pagina delle impostazioni della casella di posta.SMTP_PORT: porta del server SMTP; di norma si trova nella pagina delle impostazioni della casella di posta.
SMTP_USER: account del servizio di invio e-mail SMTP, cioè il tuo indirizzo e-mail.SMTP_PASS: password del servizio di invio e-mail SMTP, cioè la password della tua e-mail.SMTP_SECURE: connessione SMTP con SSL,trueofalse.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.
Le seguenti variabili d'ambiente sono facoltative:
SENDER_NAME: nome personalizzato del mittente nella notificaSENDER_EMAIL: nome personalizzato del mittente nella notifica, richiesto da alcuni servizi SMTP.MAIL_SUBJECT: titolo personalizzato dell'e-mail di risposta a un commentoMAIL_TEMPLATE: contenuto personalizzato dell'e-mail di rispostaMAIL_SUBJECT_ADMIN: titolo personalizzato dell'e-mail di notifica di un nuovo commentoMAIL_TEMPLATE_ADMIN: contenuto personalizzato dell'e-mail di notifica di un nuovo commentoAUTHOR_EMAIL: l'e-mail del blogger, usata per capire se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.
Notifica via WeChat
Per le notifiche WeChat usiamo Mr. Server. Devi impostare SC_KEY nell'ambiente, con il valore ottenuto da Mr. Server.
SC_KEY: token ottenuto da Mr. Server, obbligatorio per questo servizio.AUTHOR_EMAIL: l'e-mail del blogger serve a distinguere se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.
Notifica via QQ
Per inviare le notifiche QQ usiamo Mr. Qmsg. Devi impostare QMSG_KEY nell'ambiente, con il valore ottenuto da Mr. Qmsg.
QMSG_KEY: chiave ottenuta da Mr. Qmsg, obbligatoria per questo servizio.QMSG_HOST: HOST ottenuto da Mr. QmsgPrivate, facoltativo. È obbligatorio per questo host. Il valore predefinito èhttps://qmsg.zendee.cnQQ_ID: l'ID QQ dei destinatari, esclusi i gruppi QQ. Se ci sono più ID QQ, separali con virgole, ad esempio1244453393,2952937634(devono essere tutti presenti nell'elenco di ID QQ del tuo Mr. Qmsg).AUTHOR_EMAIL: l'e-mail del blogger serve a distinguere se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.QQ_TEMPLATE: modello di notifica usato da QQ. Le variabili e i formati specifici sono descritti nel modello di notifica qui sotto. Se non è configurato, viene usato il modello predefinito.
Notifica via Telegram
Per inviare le notifiche Telegram usiamo un bot di Telegram. Devi impostare le seguenti variabili d'ambiente.
TG_BOT_TOKEN: token del bot Telegram per accedere all'HTTP API. Crea un bot con @BotFather per ottenere il token. È obbligatorio per questo servizio.TG_CHAT_ID: ilchat_iddel destinatario. Può essere un utente, un canale o un gruppo. @userinfobot mostra questochat_idquando gli inoltri un messaggio. È obbligatorio per questo servizio.AUTHOR_EMAIL: l'e-mail del blogger serve a distinguere se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.TG_TEMPLATE: modello di notifica usato da Telegram. Le variabili e i formati specifici sono descritti nel modello di notifica qui sotto. Se non è configurato, viene usato il modello predefinito.
Notifica via PushPlus
pushplus è una piattaforma di push dei messaggi che supporta molti canali, come WeChat, WeChat Work, DingTalk, SMS o e-mail. Devi impostare le seguenti variabili d'ambiente. Puoi consultare la documentazione di pushplus per maggiori dettagli sul formato dei parametri.
PUSH_PLUS_KEY: token utente. È obbligatorio per questo servizio.PUSH_PLUS_TOPIC:ID del gruppo. Se è vuoto, il messaggio viene inviato a te. Non ha effetto sePUSH_PLUS_CHANNELè uguale awebhook.PUSH_PLUS_TEMPLATE:modello di invioPUSH_PLUS_CHANNEL:canale di invioPUSH_PLUS_WEBHOOK:il webhook è obbligatorio sePUSH_PLUS_CHANNELè uguale awebhookocp.PUSH_PLUS_CALLBACKURL:URL di callback dopo la risposta all'invio.AUTHOR_EMAIL: l'e-mail del blogger serve a distinguere se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.
Notifica via Discord
Per inviare le notifiche Discord usiamo i Discord Webhook. Devi impostare le seguenti variabili d'ambiente.
DISCORD_WEBHOOK: URL del Discord Webhook, come creare un URL di Discord Webhook?DISCORD_TEMPLATE: modello di invioAUTHOR_EMAIL: l'e-mail del blogger serve a distinguere se il commento pubblicato è suo. Se il commento è del blogger non viene inviata alcuna notifica di promemoria.SITE_NAME: il nome del tuo sito, mostrato nel messaggio di notifica.SITE_URL: l'URL del tuo sito, mostrato nel messaggio di notifica.
Notifica via Lark
Per inviare le notifiche di gruppo usiamo i Lark Webhook. Sono richieste le seguenti variabili d'ambiente.
LARK_WEBHOOK: bot di gruppo Lark, utilizzo dei WebhookLARK_SECRET: come chiarito dalla documentazione di Lark, questo segreto serve a firmare le richieste per evitarne l'abuso (facoltativo).LARK_TEMPLATE: modello del messaggioSITE_NAME: il nome del tuo sito, mostrato nei messaggi di notifica.SITE_URL: l'URL del tuo sito, mostrato nei messaggi di notifica.
Modelli di notifica
Waline permette di configurare modelli di notifica personalizzati per ogni piattaforma, così da ottenere maggiori possibilità di personalizzazione e compatibilità i18n.
Variabili supportate
Il modello riceve i parametri tramite gli oggetti self, parent e site, che contengono rispettivamente le seguenti variabili:
self: il commento stessovariabile descrizione nick Nickname di chi commenta mail E-mail di chi commenta link Sito web di chi commenta url Indirizzo dell'articolo comment Contenuto del commento browser Nome del browser os Nome del sistema operativo avatar avatar commentLink* Link nei commenti *: commentLink è disponibile solo nelle notifiche Telegram e viene automaticamente racchiuso nel formato Markdown.
parent: il commento a cui si risponde (commento padre).variabile descrizione nick Nickname di chi commenta mail E-mail di chi commenta link Sito web di chi commenta browser Nome del browser os Nome del sistema operativo avatar avatar comment Contenuto del commento site: configurazione del sito webvariabile descrizione name Nome del sito url URL del sito postUrl Indirizzo completo del commento
Modello predefinito
Qui sotto trovi il modello predefinito, a titolo di riferimento:
MAIL_SUBJECT:
{{parent.nick | safe}},『{{site.name | safe}}』上的评论收到了回复MAIL_TEMPLATE:
<div
style="border-top:2px solid #12ADDB;box-shadow:0 1px 3px #AAAAAA;line-height:180%;padding:0 15px 12px;margin:50px auto;font-size:12px;"
>
<h2
style="border-bottom:1px solid #DDD;font-size:14px;font-weight:normal;padding:13px 0 10px 8px;"
>
您在<a style="text-decoration:none;color: #12ADDB;" href="{{site.url}}" target="_blank"
>{{site.name}}</a
>上的评论有了新的回复
</h2>
{{parent.nick}} 同学,您曾发表评论:
<div style="padding:0 12px 0 12px;margin-top:18px">
<div style="background-color: #f5f5f5;padding: 10px 15px;margin:18px 0;word-wrap:break-word;">
{{parent.comment | safe}}
</div>
<p><strong>{{self.nick}}</strong>回复说:</p>
<div style="background-color: #f5f5f5;padding: 10px 15px;margin:18px 0;word-wrap:break-word;">
{{self.comment | safe}}
</div>
<p>
您可以点击<a
style="text-decoration:none; color:#12addb"
href="{{site.postUrl}}"
target="_blank"
>查看回复的完整內容</a
>,欢迎再次光临<a
style="text-decoration:none; color:#12addb"
href="{{site.url}}"
target="_blank"
>{{site.name}}</a
>。
</p>
<br />
</div>
</div>MAIL_SUBJECT_ADMIN:
{{site.name | safe}} 上有新评论了MAIL_TEMPLATE_ADMIN:
<div
style="border-top:2px solid #12ADDB;box-shadow:0 1px 3px #AAAAAA;line-height:180%;padding:0 15px 12px;margin:50px auto;font-size:12px;"
>
<h2
style="border-bottom:1px solid #DDD;font-size:14px;font-weight:normal;padding:13px 0 10px 8px;"
>
您在<a style="text-decoration:none;color: #12ADDB;" href="{{site.url}}" target="_blank"
>{{site.name}}</a
>上的文章有了新的评论
</h2>
<p><strong>{{self.nick}}</strong>回复说:</p>
<div style="background-color: #f5f5f5;padding: 10px 15px;margin:18px 0;word-wrap:break-word;">
{{self.comment | safe}}
</div>
<p>
您可以点击<a style="text-decoration:none; color:#12addb" href="{{site.postUrl}}" target="_blank"
>查看回复的完整內容</a
>
</p>
<br />
</div>QQ_TEMPLATE:
💬 {{site.name|safe}} 有新评论啦 {{self.nick}} 评论道: {{self.comment}} 邮箱: {{self.mail}} 状态: {{self.status}} 仅供评论预览,查看完整內容: {{site.postUrl}}TG_TEMPLATE:
💬 _[{{site.name}}]({{site.url}}) 有新评论啦_ _{{self.nick}}_ 回复说: ``` {{self.comment-}} ``` {{-self.commentLink}} _邮箱: _\`{{self.mail}}\` _审核: _{{self.status}} 仅供评论预览,点击[查看完整內容]({{site.postUrl}})
Informazioni aggiuntive
- La dimensione delle variabili d'ambiente di Vercel è limitata a
4KB, quindi se il tuo modello è lungo dovresti configurarlo nel file di entry principale; vedi issue#106. - Le informazioni specifiche delle variabili possono cambiare durante lo sviluppo. Le descrizioni qui riportate sono solo indicative: per il contenuto esatto fai riferimento agli esempi di codice concreti.
