1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00
royalnet/adventuremode.py

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")