File size: 2,114 Bytes
d2170e1
475e08b
d2170e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eccc7a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import os

import telebot

import requests

BOT_TOKEN = os.environ.get('BOT_TOKEN')

bot = telebot.TeleBot(BOT_TOKEN)


@bot.message_handler(commands=['start', 'hello'])
def send_welcome(message):
    bot.reply_to(message, "Posso gerar números aleatórios verdadeiros")
    
@bot.message_handler(commands=['aleatorio'])

def sign_handler(message):
    text = "Por favor escolha um tipo de dado:\nuint8 (Inteiros 0–255), uint16 (Inteiros 0–65535)"
    bot.reply_to(message, text)

    # Agora, vamos esperar a resposta do usuário
    bot.register_next_step_handler(message, process_data_type_choice)

def process_data_type_choice(message):
    # A resposta do usuário estará em message.text
    data_type = message.text

    # Pergunte ao usuário sobre o comprimento da matriz
    bot.reply_to(message, "Por favor, escolha o comprimento da matriz. O valor deve variar de 1 a 1024.")

    # Agora, vamos esperar a resposta do usuário sobre o comprimento da matriz
    bot.register_next_step_handler(message, lambda msg: process_array_length_choice(msg, data_type))

def process_array_length_choice(message, data_type):
    # A resposta do usuário sobre o comprimento da matriz estará em message.text
    array_length = message.text

    # Faça a solicitação à API QRNG@ANU
    api_url = f"https://qrng.anu.edu.au/API/jsonI.php?length={array_length}&type={data_type}"

    # Tente obter os dados da API
    try:
        response = requests.get(api_url)
        response.raise_for_status()  # Verifica se a solicitação foi bem-sucedida

        # Converte a resposta para JSON
        result = response.json()

        # Obtém a matriz de dados da resposta
        random_data = result.get('data', [])

        # Informa ao usuário
        bot.reply_to(message, f"Números aleatórios verdadeiros: {random_data}")

    except requests.exceptions.RequestException as e:
        # Se ocorrer um erro na solicitação à API, informe ao usuário
        bot.reply_to(message, f"Aguarde 1 min depois da ultima solicitação")

# Adicione a seguinte linha para iniciar o polling
bot.infinity_polling()