Telegram Bot UDF

« Older   Newer »
  Share  
LinkOut
CAT_IMG Posted on 3/1/2017, 23:11     +1   -1






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.

E' presente anche un file "Test.au3" che prova tutte le funzioni e riporta nella console il valore restituito, lo allego qui:

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.

Qui potete scaricare la libreria ed avere informazioni più dettagliate -> https:// github. com/xLinkOut/telegram-udf-autoit
Inoltre è stata aggiunta ai repo ufficiali di AutoIt e la potete trovare anche qui -> https:// www. autoitscript. com/wiki/User_Defined_Functions#Social_Media_and_other_Website_API

Per qualsiasi cosa, domande, segnalazioni, bug, contattatemi in privato o rispondete a questo Thread. Seguitemi anche su GitHub se volete per update futuri! Bye :D

Edited by LinkOut - 15/1/2017, 16:23
 
Top
0 replies since 3/1/2017, 23:11   226 views
  Share