mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
99 lines
No EOL
2.8 KiB
Python
99 lines
No EOL
2.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
import requests
|
|
import json
|
|
|
|
#Inizializza la API Key di Telegram
|
|
token = ""
|
|
|
|
#Ultimo messaggio mandato dal bot.
|
|
lastmsg = ""
|
|
|
|
#Nascondi la tastiera.
|
|
no_keyboard = {
|
|
'hide_keyboard': True,
|
|
}
|
|
json.dumps(no_keyboard)
|
|
|
|
#Gruppo di destinazione
|
|
target_group = -2141322
|
|
|
|
#Manda un messaggio.
|
|
def sendMessage(content, tastiera=no_keyboard, to=target_group):
|
|
#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
|
|
'reply_markup': tastiera
|
|
}
|
|
#Manda il messaggio
|
|
r = requests.get("https://api.telegram.org/bot" + token + "/sendMessage", params=parametri)
|
|
|
|
#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()
|
|
|
|
#Caricamento delle API Keys...
|
|
token = readFile('telegramapi.txt')
|
|
|
|
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
|
|
data = requests.get("https://api.telegram.org/bot" + token + "/getUpdates", params=parametri).json()
|
|
if(data['ok']):
|
|
if(data['result'] != []):
|
|
#Aggiorna l'update ID sul file
|
|
writeFile("lastid.txt", str(data['result'][0]['update_id'] + 1))
|
|
#...esiste il messaggio? telegram wtf
|
|
if(data['result'][0]['message'] is not None):
|
|
return data['result'][0]['message']
|
|
|
|
#############################################
|
|
## Qui inizia la roba che serve a te, max! ##
|
|
#############################################
|
|
|
|
#Scrivi la storia!
|
|
def racconto(testo):
|
|
print(testo)
|
|
sendMessage(testo)
|
|
|
|
#Apri una tastiera con due scelte
|
|
def treScelte(puno, pdue, ptre):
|
|
tastiera = {
|
|
'keyboard': [[puno, pdue, ptre]],
|
|
'one_time_keyboard': True,
|
|
}
|
|
print("Cosa vuoi fare?\n1: " + puno + "\n2: " + pdue + "\n3: " + ptre)
|
|
sendMessage("Cosa vuoi fare?\n1: " + puno + "\n2: " + pdue + "\n3: " + ptre, json.dumps(tastiera))
|
|
#Aspetta una risposta...
|
|
waiting = True
|
|
while(waiting):
|
|
msg = getUpdates()
|
|
if(msg['text'] == puno):
|
|
return 1
|
|
elif(msg['text'] == pdue):
|
|
return 2
|
|
elif(msg['text'] == ptre):
|
|
return 3
|
|
|
|
r = treScelte("Banana", "Fragola", "Frankez")
|
|
if(r == 1):
|
|
racconto("Ottima scelta, una banana fresca, proprio come Frank!")
|
|
elif(r == 2):
|
|
racconto("Bah, secondo me era molto meglio una banana...")
|
|
elif(r == 3):
|
|
racconto("Frankez è una banana, quindi perchè non hai scelto direttamente quella?")
|
|
racconto("Fine dello script") |