diff options
author | Guillermo Ramos | 2021-08-26 11:16:54 +0200 |
---|---|---|
committer | Guillermo Ramos | 2023-11-03 19:04:16 +0100 |
commit | 96e84e799867264addecc41ed7d38d9d7b703c51 (patch) | |
tree | be6933f81a62aa25a25c358226c17278a8497cf2 | |
parent | 8ccd35fda31772bbaff4eb8e91cc9a8b5916832d (diff) | |
download | bots-96e84e799867264addecc41ed7d38d9d7b703c51.tar.gz |
angel.sh -> angel.pl
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | angel.pl | 28 | ||||
-rwxr-xr-x | angel.sh | 13 |
3 files changed, 28 insertions, 14 deletions
@@ -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" |