From 523f6d899a9f3eededcbea4e004d888b69a4c09a Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Fri, 7 Aug 2015 15:49:13 +0200 Subject: [PATCH] Il file, trasferito da gist --- royalbot.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 royalbot.py diff --git a/royalbot.py b/royalbot.py new file mode 100644 index 00000000..7bbe92da --- /dev/null +++ b/royalbot.py @@ -0,0 +1,57 @@ +# -*- coding: latin-1 -*- + +import requests #Modulo per fare richieste su HTTP +import time #Modulo per mettere in pausa il programma + +#Token del bot, non diffondere +token = "120621161:AAHeVgQhlfGx36KT9NyGemauZBPEbe9Xfv0" + +#Leggi un file e rispondi con il contenuto +def readFile(name): + file = open(name, 'r') + content = file.read() + file.close() + return content + +#Scrivi qualcosa su un file +def writeFile(name, content): + file = open(name, 'w') + file.write(content) + file.close() + +#Ricevi gli ultimi messaggi +def getUpdates(): + #Parametri della richiesta da fare + parametri = { + 'offset': readFile("lastid.txt"), #Update ID del messaggio da leggere + 'limit': 1, #Numero di messaggi da ricevere alla volta, lasciare 1 + 'timeout': 300, #Secondi da mantenere attiva la richiesta se non c'e' nessun messaggio + } + #Manda la richiesta ai server di Telegram e convertila in un dizionario + r = requests.get("https://api.telegram.org/bot" + token + "/getUpdates", params=parametri).json() + return r + +#Manda un messaggio +def sendMessage(content, to): + #Parametri del messaggio + parametri = { + 'chat_id': to, #L'ID della chat a cui mandare il messaggio, Royal Games: -2141322 + 'text': content #Il messaggio da mandare + } + #Manda il messaggio + r = requests.get("https://api.telegram.org/bot" + token + "/sendMessage", params=parametri) + +#Il loop del bot +while(True): + #Ricevi gli ultimi messaggi + data = getUpdates() + #Se c'e' un nuovo messaggio + if(data['ok'] and data['result']): + #Aggiorna l'update ID sul file + writeFile("lastid.txt", str(data['result'][0]['update_id'] + 1)) + #Leggi i dati del messaggio + msg = data['result'][0]['message'] + if(msg['text'] == "/start"): + sendMessage("Non c'è bisogno di avviarmi, sono sempre avviato!", msg['chat']['id']) + if(msg['text'] == "/ahnonlosoio"): + sendMessage("Ah non lo so nemmeno io ¯\_(ツ)_/¯", msg['chat']['id']) \ No newline at end of file