summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillermo Ramos2021-08-26 11:16:54 +0200
committerGuillermo Ramos2023-11-03 19:04:16 +0100
commit96e84e799867264addecc41ed7d38d9d7b703c51 (patch)
treebe6933f81a62aa25a25c358226c17278a8497cf2
parent8ccd35fda31772bbaff4eb8e91cc9a8b5916832d (diff)
downloadbots-96e84e799867264addecc41ed7d38d9d7b703c51.tar.gz
angel.sh -> angel.pl
-rw-r--r--.gitignore1
-rwxr-xr-xangel.pl28
-rwxr-xr-xangel.sh13
3 files changed, 28 insertions, 14 deletions
diff --git a/.gitignore b/.gitignore
index fc04139..c97f963 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
*.sh
-!angel.sh
diff --git a/angel.pl b/angel.pl
new file mode 100755
index 0000000..6ab24ac
--- /dev/null
+++ b/angel.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use JSON;
+
+my $ENDPOINT = "https://www.googleapis.com/youtube/v3";
+my $YT_API_KEY = $ENV{'YT_API_KEY'} or die "YT_API_KEY not defined";
+
+sub decode_json_utf8 {
+ my $json = join "", @_;
+ utf8::encode($json);
+ return decode_json($json);
+}
+
+sub api_search {
+ return (decode_json_utf8 `curl -s '$ENDPOINT/search?channelId=UCGUc7rf0fbEzrGb7kkmu6zw&part=snippet&q=Informativo&maxResults=1&key=$YT_API_KEY'`)->{items};
+}
+
+my $today = `date '+%Y-%m-%dT'`;
+chomp $today;
+
+my ($video) = @{api_search()};
+
+if ($video->{snippet}{publishTime} =~ /^$today/) {
+ print "$video->{snippet}{title}\nhttps://www.youtube.com/watch?v=$video->{id}{videoId}\n";
+}
diff --git a/angel.sh b/angel.sh
deleted file mode 100755
index 1a353fa..0000000
--- a/angel.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-TODAY=$(date '+%d/%m/%y')
-VIDEO_ID=$(
- curl -s https://www.youtube.com/playlist\?list\=PLtk0IJ09y34XS044BgNOsFvd8FD4mPYQY \
- | sed -n '/var ytInitialData/ { s/^.*ytInitialData = //; s/;.*$//; p }' \
- | jq -r ".contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].playlistVideoListRenderer.contents[] | select(.playlistVideoRenderer.title.runs[0].text == \"Informativo matinal express [$TODAY]\") | .playlistVideoRenderer.videoId")
-
-if [ -z "$VIDEO_ID" ]; then
- exit 0
-fi
-
-echo -e "Informativo matinal para ahorraros tiempo [$TODAY]\nhttps://www.youtube.com/watch?v=$VIDEO_ID"