Ciao! Ho scritto una libreria di UDFs per semplificare la vita di chi ha intenzione di controllare o semplicemente usare un bot Telegram tramite AutoIT. Trovate tutto il necessario sulla mia pagina GitHub.
Introduzione:
- Cos'è: E' una libreria di funzioni per gestire un Bot di Telegram. Può inviare messaggi, foto, video, sticker, attendere nuovi messaggi in arrivo e rispondere...
- Come funziona: Basta inserire il Token che riceverete da BotFather subito dopo la creazione di un Bot, usare la funzionre _InitBot() per inizializzarlo et voilà! Bot pronto e funzionante.
- Tutte le funzioni sono commentate: Per ogni funzione è presente una breve descrizione, una spiegazione per ogni paramatro richiesto dalla funzione e per il valore che restituisce.
Codice:
#include "Telegram UDF.au3"
$ChatID = "Your_Chat_ID_For_Test"
_InitBot("Bot_ID","Bot_Token")
ConsoleWrite("Test _GetUpdates -> " & @TAB & _GetUpdates() & @CRLF)
ConsoleWrite("Test _GetMe -> " & @TAB & _GetMe() & @CRLF)
ConsoleWrite("Test _SendMsg -> " & @TAB & _SendMsg($ChatID,"Test _SendMsg") & @CRLF)
ConsoleWrite("Test _ForwardMsg -> " & @TAB & _ForwardMsg($ChatID,$ChatID,'MsgID') & @CRLF)
ConsoleWrite("Test _SendPhoto -> " & @TAB & _SendPhoto($ChatID,"C:\image.jpg","Test _SendPhoto") & @CRLF)
ConsoleWrite("Test _SendVideo -> " & @TAB & _SendVideo($ChatID,"C:\video.mp4","Test _SendVideo") & @CRLF)
ConsoleWrite("Test _SendAudio -> " & @TAB & _SendAudio($ChatID,"C:\audio.mp3","Test _SendAudio") & @CRLF)
ConsoleWrite("Test _SendDocument -> " & @TAB & _SendDocument($ChatID,"C:\document.txt","Test _SendDocument") & @CRLF)
ConsoleWrite("Test _SendVoice -> " & @TAB & _SendVoice($ChatID,"C:\voice.ogg","Test _SendVoice") & @CRLF)
ConsoleWrite("Test _SendSticker -> " & @TAB & _SendSticker($ChatID,"C:\sticker.webp") & @CRLF)
ConsoleWrite("Test _SendLocation -> " & @TAB & _SendLocation($ChatID,"74.808889","-42.275391") & @CRLF)
ConsoleWrite("Test _SendContact -> " & @TAB & _SendContact($ChatID,"0123456789","Josh") & @CRLF)
ConsoleWrite("Test _SendChatAction -> " & @TAB & _SendChatAction($ChatID,"typing") & @CRLF)
ConsoleWrite("Test _GetUserProfilePhotos -> " & @TAB & _GetUserProfilePhotos($ChatID) & @CRLF)
ConsoleWrite("Test _GetChat -> " & @TAB & _GetChat($ChatID) & @CRLF)
While 1
$msgData = _Polling()
_SendMsg($msgData[2],$msgData[3])
WEnd
L'ultima parte (il ciclo While) usa la funzione _Polling() che pone il bot in uno stato di attesa, aspettando appunto nuovi messaggi. Nel momento in qui un messaggio viene inviato al bot, la funzione _Polling() restituisce un array che contiene le informazioni principali del messaggio quali Il Chat ID,indispensabile per rispondere allo stesso utente.
Sono presenti due versioni:
- La prima, contrassegnata con OLD, utilizza cURL per uploadare files multimediali sui servers di Telegram: è veloce, ma appunto necessita dell'eseguibile di cURL, che è comunque in grado di scaricare e utilizzare da se senza che lo facciate di voi. Ma visto che molti non si fidano neanche dei repo ufficiali e vista la poca praticità, ho riscritto tutto in un'altra versione ↓
- La seconda invece usa semplicemente le richieste HTTP anche per inviare file multimediali. Leggermente più lenta di cURL ma molto molto più pratica e semplice.
Inoltre è stata aggiunta ai repo ufficiali di AutoIT e la potete trovare anche qui -> AutoIT Script UDF
Per qualsiasi cosa, domande, segnalazioni, bug, contattatemi in privato o rispondete a questo Thread. Seguitemi anche su GitHub se volete per update futuri! Bye