77@plugin ("numbersapi" )
88def numbersapi (jarvis , s ):
99 """
10- numbersapi: Displays API
11- numbersapi <list of numbers>: Displays facts about each number in list"
10+ numbersapi: Displays API facts
11+ numbersapi <list of numbers>: Displays facts about each number in list
12+ numbersapi random trivia: Displays a random trivia fact
13+ numbersapi random date: Displays a random fact about a date
14+ numbersapi random year: Displays a random fact about a year
15+ numbersapi random number: Displays a random number fact
1216 numbersapi help: Prints this help
1317
1418 ** Data provided by: http://numbersapi.com/
@@ -19,6 +23,23 @@ def numbersapi(jarvis, s):
1923 jarvis .say (numbersapi .__doc__ , Fore .GREEN )
2024 return
2125
26+ if "random" in parts :
27+ if "trivia" in parts :
28+ data = get_data (jarvis , "random/trivia" )
29+ elif "date" in parts :
30+ data = get_data (jarvis , "random/date" )
31+ elif "year" in parts :
32+ data = get_data (jarvis , "random/year" )
33+ elif "number" in parts :
34+ data = get_data (jarvis , "random" )
35+ else :
36+ jarvis .say ("\t Invalid random type. Use 'trivia', 'date', 'year', or 'number'." , Fore .RED )
37+ return
38+
39+ if data :
40+ jarvis .say (f"\t { data } " , Fore .CYAN )
41+ return
42+
2243 if any ((not part .isnumeric () for part in parts )):
2344 jarvis .say ("\t Please, pass valid integers as arguments." , Fore .RED )
2445 return
@@ -29,10 +50,10 @@ def numbersapi(jarvis, s):
2950 jarvis .say (f"\t { data } " , Fore .CYAN )
3051
3152
32- def get_data (jarvis , number ):
53+ def get_data (jarvis , endpoint ):
3354 base_url = "http://numbersapi.com/"
3455 try :
35- response = requests .get (f"{ base_url } { number } " )
56+ response = requests .get (f"{ base_url } { endpoint } " )
3657 return response .text
3758 except requests .exceptions .RequestException :
3859 jarvis .say (f"\t Could not get data from { base_url } " , Fore .RED )
0 commit comments