Azioni

MontellugTelegramBot

Da MontelLUG WIKI.

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