Azioni

Differenze tra le versioni di "MontellugTelegramBot"

Da MontelLUG WIKI.

(Aggiunto script per inviare messaggi da bash un po' più comodamente.)
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 29: Riga 29:
 
https://api.telegram.org/bot01234567:tanticarattericasuali/setWebhook?url=https://vostro_server.it/nome_segreto.php
 
https://api.telegram.org/bot01234567:tanticarattericasuali/setWebhook?url=https://vostro_server.it/nome_segreto.php
  
== Come funziona? ==
+
== Controllare il BOT da Bash ==
Mandare messaggi da bash
 
 
 
send_telegram_message.sh
 
  
 +
Inviare messaggi di testo: script send_telegram_message.sh
 
<pre>
 
<pre>
 
<nowiki>
 
<nowiki>
Riga 43: Riga 41:
 
https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendMessage \
 
https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendMessage \
 
-d chat_id="$CHAT_ID" -d text="Messaggio dal BOT: $1 $2 $3 $4" > /dev/null
 
-d chat_id="$CHAT_ID" -d text="Messaggio dal BOT: $1 $2 $3 $4" > /dev/null
 +
</nowiki>
 +
</pre>
 +
 +
 +
Inviare foto: script send_telegram_photo.sh
 +
<pre>
 +
<nowiki>
 +
#!/bin/sh
 +
# TELEGRAM_BOT_API_TOKEN="9703794947:ABGqfiE_prpXfyvkwFzqfpzr7KtXVbtJcP"
 +
# CHAT_ID="-942536909"
 +
 +
/usr/bin/curl -s -X \
 +
POST https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendPhoto \
 +
-F chat_id="$CHAT_ID" -F photo=@"$1" \
 +
-F caption="Invio foto: $2" > /dev/null
 +
</nowiki>
 +
</pre>
 +
 +
 +
Inviare file: script send_telegram_document.sh
 +
<pre>
 +
<nowiki>
 +
#!/bin/sh
 +
# TELEGRAM_BOT_API_TOKEN="9703794947:ABGqfiE_prpXfyvkwFzqfpzr7KtXVbtJcP"
 +
# CHAT_ID="-942536909"
 +
 +
/usr/bin/curl -s -X \
 +
POST https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendDocument \
 +
-F chat_id="$CHAT_ID" -F document=@"$1" \
 +
-F caption="Invio file: $2" > /dev/null
 
</nowiki>
 
</nowiki>
 
</pre>
 
</pre>

Versione attuale delle 21:56, 9 mag 2023

Cosa è e cosa fa

Un "bot telegram" è una sorta di utente virtuale con il quale si può chattare tramite il client Telegram. A rispondere non sarà una persona ma un software e l'interazione che si può avere dipende dallo sviluppatore che ha creato il bot (il nostro è semplicissimo). Al momento le funzioni disponibili sono:

  • distro , consiglia qualche distribuzione per neofiti
  • iban , visualizza le coordinate bancarie per poter pagare la tessera o per le donazioni :-)
  • logo , visualizza il logo del MontelLug
  • sw <software_proprietario>, consente di trovare le alternative libere ai software proprietari, es. 'sw office' > LibreOffice
  • orari , visualizza i prossimi appuntamenti in sede
  • tessera , spiega qual è la procedura per iscriversi

Il sistema memorizza solo le richieste che non riesce a capire, per il tempo minimo necessario, al fine di poter migliorare il software.

Come posso usarlo

Se hai uno smartphone, devi installare Telegram e poi aprire una chat con l'utente @MontellugBot.

Come funziona?

Per fare un bot si possono usare diversi linguaggi di programmazione. Per semplicità e portabilità abbiamo scelto php. Per non partire da zero abbiamo scelto di usare la classe di Gabriele Grillo disponibile a questo indirizzo:

https://github.com/Eleirbag89/TelegramBotPHP

In sostanza bisogna seguire questi semplici passaggi:

  • installare Telegram
  • avviare una chat con il bot "BotFather"
  • tramite BotFather creare il bot <vostro_nome>
  • BotFather vi darà un codice di accesso alle API del tipo 01234567:tanticarattericasuali
  • in un vostro server accessibile via https, copiare il file telegram.php e creare un file <nome_segreto>.php che risponderà alle richieste effettive degli utenti
  • collegare il vostro bot alla vostra pagina php (modificate i parametri necessari):

https://api.telegram.org/bot01234567:tanticarattericasuali/setWebhook?url=https://vostro_server.it/nome_segreto.php

Controllare il BOT da Bash

Inviare messaggi di testo: script send_telegram_message.sh


#!/bin/sh
# TELEGRAM_BOT_API_TOKEN="9703794947:ABGqfiE_prpXfyvkwFzqfpzr7KtXVbtJcP"
# CHAT_ID="-942536909"

/usr/bin/curl -s -X POST \
https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendMessage \
-d chat_id="$CHAT_ID" -d text="Messaggio dal BOT: $1 $2 $3 $4" > /dev/null


Inviare foto: script send_telegram_photo.sh


#!/bin/sh
# TELEGRAM_BOT_API_TOKEN="9703794947:ABGqfiE_prpXfyvkwFzqfpzr7KtXVbtJcP"
# CHAT_ID="-942536909"

/usr/bin/curl -s -X \
POST https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendPhoto \
-F chat_id="$CHAT_ID" -F photo=@"$1" \
-F caption="Invio foto: $2" > /dev/null


Inviare file: script send_telegram_document.sh


#!/bin/sh
# TELEGRAM_BOT_API_TOKEN="9703794947:ABGqfiE_prpXfyvkwFzqfpzr7KtXVbtJcP"
# CHAT_ID="-942536909"

/usr/bin/curl -s -X \
POST https://api.telegram.org/bot$TELEGRAM_BOT_API_TOKEN/sendDocument \
-F chat_id="$CHAT_ID" -F document=@"$1" \
-F caption="Invio file: $2" > /dev/null