From 464bff1e50e33d0fbfddd43c6401ba9ff7a8e71c Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:07:35 +0300 Subject: [PATCH 1/9] Create 0rbit-Price-Feed.lua --- price-feed-bot-ozdilf07/0rbit-Price-Feed.lua | 1 + 1 file changed, 1 insertion(+) create mode 100644 price-feed-bot-ozdilf07/0rbit-Price-Feed.lua diff --git a/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua b/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua @@ -0,0 +1 @@ + From 42024fb625e616a8585b4d28be2aa031444059ed Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:08:05 +0300 Subject: [PATCH 2/9] Create 0rbit-Price-Feed.png --- price-feed-bot-ozdilf07/0rbit-Price-Feed.png | 1 + 1 file changed, 1 insertion(+) create mode 100644 price-feed-bot-ozdilf07/0rbit-Price-Feed.png diff --git a/price-feed-bot-ozdilf07/0rbit-Price-Feed.png b/price-feed-bot-ozdilf07/0rbit-Price-Feed.png new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/price-feed-bot-ozdilf07/0rbit-Price-Feed.png @@ -0,0 +1 @@ + From 28006c78ac9f091dbcaef89bda6353db55e481e8 Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:18:32 +0300 Subject: [PATCH 3/9] Delete price-feed-bot-ozdilf07/0rbit-Price-Feed.lua --- price-feed-bot-ozdilf07/0rbit-Price-Feed.lua | 1 - 1 file changed, 1 deletion(-) delete mode 100644 price-feed-bot-ozdilf07/0rbit-Price-Feed.lua diff --git a/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua b/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua deleted file mode 100644 index 8b137891..00000000 --- a/price-feed-bot-ozdilf07/0rbit-Price-Feed.lua +++ /dev/null @@ -1 +0,0 @@ - From 0c47c2634b7e794a2c7fd7198afb4aafeae12981 Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:18:45 +0300 Subject: [PATCH 4/9] Delete price-feed-bot-ozdilf07/0rbit-Price-Feed.png --- price-feed-bot-ozdilf07/0rbit-Price-Feed.png | 1 - 1 file changed, 1 deletion(-) delete mode 100644 price-feed-bot-ozdilf07/0rbit-Price-Feed.png diff --git a/price-feed-bot-ozdilf07/0rbit-Price-Feed.png b/price-feed-bot-ozdilf07/0rbit-Price-Feed.png deleted file mode 100644 index 8b137891..00000000 --- a/price-feed-bot-ozdilf07/0rbit-Price-Feed.png +++ /dev/null @@ -1 +0,0 @@ - From 64851890cb62015975f70a8b9290a45c929926f0 Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:21:01 +0300 Subject: [PATCH 5/9] Create 0rbit-Price-Feed.lua --- price-feed-bot*ozdilf07/0rbit-Price-Feed.lua | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 price-feed-bot*ozdilf07/0rbit-Price-Feed.lua diff --git a/price-feed-bot*ozdilf07/0rbit-Price-Feed.lua b/price-feed-bot*ozdilf07/0rbit-Price-Feed.lua new file mode 100644 index 00000000..f2230a9e --- /dev/null +++ b/price-feed-bot*ozdilf07/0rbit-Price-Feed.lua @@ -0,0 +1,57 @@ + -- PID Df9M1DXxy_BEOs0t2R4pHKgJiP9qjUZNQy7GzD0ARII + + local json = require("json") + + _ORBIT = "WSXUI2JjYUldJ7CKq9wE1MGwXs-ldzlUlHOQszwQe0s" + + function handleError(msg, errorMessage) + ao.send({ + Target = msg.From, + Tags = { + Action = "Error", + ["Message-Id"] = msg.Id, + Error = errorMessage + } + }) + end + + Handlers.add("Ozdilf07", + Handlers.utils.hasMatchingTag("Action", "Sponsored-Get-Request"), + function(msg) + local token = msg.Tags.Token + if not token then + handleError(msg, "Token not provided") + return + end + + local url = "https://api.coingecko.com/api/v3/simple/price?ids=" .. token .. "&vs_currencies=usd" + ao.send({ + Target = _ORBIT, + Action = "Get-Real-Data", + Url = url + }) + print("Pricefetch request sent for " .. token) + end + ) + + Handlers.add("ReceiveData", + Handlers.utils.hasMatchingTag("Action", "Receive-Response"), + function(msg) + print("Received data: " .. msg.Data) + local res = json.decode(msg.Data) + local token = msg.Tags.Token + if res[token] and res[token].usd then + ao.send({ + Target = msg.From, + Tags = { + Action = "Price-Response", + ["Message-Id"] = msg.Id, + Price = res[token].usd + } + }) + print("Price of " .. token .. " is " .. res[token].usd) + else + handleError(msg, "Failed to fetch price") + end + end + ) From 0f784f5ae9f9e4e1eb19056a7462d7e23150ca65 Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:22:00 +0300 Subject: [PATCH 6/9] Create 0rbit-Price-Feed.jpg --- price-feed-bot*ozdilf07/0rbit-Price-Feed.jpg | 1 + 1 file changed, 1 insertion(+) create mode 100644 price-feed-bot*ozdilf07/0rbit-Price-Feed.jpg diff --git a/price-feed-bot*ozdilf07/0rbit-Price-Feed.jpg b/price-feed-bot*ozdilf07/0rbit-Price-Feed.jpg new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/price-feed-bot*ozdilf07/0rbit-Price-Feed.jpg @@ -0,0 +1 @@ + From 145102c2f971ab6b6d8680a1d370e116d06235a6 Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 22:30:47 +0300 Subject: [PATCH 7/9] Create +.lua --- news-feed-bot-ozdilf07/+.lua | 1 + 1 file changed, 1 insertion(+) create mode 100644 news-feed-bot-ozdilf07/+.lua diff --git a/news-feed-bot-ozdilf07/+.lua b/news-feed-bot-ozdilf07/+.lua new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/news-feed-bot-ozdilf07/+.lua @@ -0,0 +1 @@ + From c807ebb28abf8d8fc759bf5e755f54afbd15639f Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 23:12:25 +0300 Subject: [PATCH 8/9] Create 0rbit-News-Feed.jpg --- news-feed-bot-ozdilf07/0rbit-News-Feed.jpg | 1 + 1 file changed, 1 insertion(+) create mode 100644 news-feed-bot-ozdilf07/0rbit-News-Feed.jpg diff --git a/news-feed-bot-ozdilf07/0rbit-News-Feed.jpg b/news-feed-bot-ozdilf07/0rbit-News-Feed.jpg new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/news-feed-bot-ozdilf07/0rbit-News-Feed.jpg @@ -0,0 +1 @@ + From a85c0eaf66345729694a78af10d7e8d93672e3ad Mon Sep 17 00:00:00 2001 From: ozdilf07 <76919102+ozdilf07@users.noreply.github.com> Date: Wed, 22 May 2024 23:13:19 +0300 Subject: [PATCH 9/9] Create 0rbit-News-Feed.lua --- news-feed-bot-ozdilf07/0rbit-News-Feed.lua | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 news-feed-bot-ozdilf07/0rbit-News-Feed.lua diff --git a/news-feed-bot-ozdilf07/0rbit-News-Feed.lua b/news-feed-bot-ozdilf07/0rbit-News-Feed.lua new file mode 100644 index 00000000..aff265a9 --- /dev/null +++ b/news-feed-bot-ozdilf07/0rbit-News-Feed.lua @@ -0,0 +1,71 @@ +-- ao.id t7uLCGhBnrea_m4YRSFR9euRjGKmMcJAJgtMMYSneow + +local json = require("json") +local _0RBIT = "WSXUI2JjYUldJ7CKq9wE1MGwXs-ldzlUlHOQszwQe0s" +local URL = "https://api.theblockbeats.news/v1/open-api/open-flash?size=5&page=1&type=push" +ReceivedData = ReceivedData or {} + +Handlers.add( + "Get-Request", + Handlers.utils.hasMatchingTag("Action", "Sponsored-Get-Request"), + function(msg) + Send({ + Target = _0RBIT, + Action = "Get-Real-Data", + Url = URL + }) + print("GET Request sent to the 0rbit process.") + end +) + +Handlers.add( + "Receive-Data", + Handlers.utils.hasMatchingTag("Action", "Receive-Response"), + function(msg) + if not msg.Data then + print("No data received.") + return + end + + local res = json.decode(msg.Data) + + ReceivedData1 = res.data.data + local extractedData = {} + for k, v in ipairs(ReceivedData1) do + table.insert(extractedData, { + title = v.title, + description = v.content + }) + ReceivedData = extractedData + + end + print("Processed data: " .. json.encode(ReceivedData1)) + end +) + +local function getLatestData(msg) + local data = json.encode(ReceivedData) + Handlers.utils.reply(data)(msg) + print("Latest data sent: " .. data) +end + +Handlers.add( + "GetLatestData", + Handlers.utils.hasMatchingTag("Action", "Get-Latest-Data"), + getLatestData +) + +local function fetchNewsPeriodically() + Send({ + Target = _0RBIT, + Action = "Get-Real-Data", + Url = URL + }) + print("Periodic GET Request sent to the 0rbit process.") +end + +Handlers.add( + "CronTick", + Handlers.utils.hasMatchingTag("Action", "Cron"), + fetchNewsPeriodically +)