youtubeのチャンネルで配信中の動画を取得のサンプルです
これを一定時間で走らせてライブがあればディスコードの通知処理を回せば良いんじゃないですかね。
import requests
import time
CHANNEL_ID = youtubeチャンネルid
YOUTUBE_API_KEY = youtubeのapiキー
def get_live_videos(channelID):
url = f"https://www.googleapis.com/youtube/v3/search?part=snippet,id&channelId={channelID}&key={YOUTUBE_API_KEY}&maxResults=100&order=date&type=video"
live_videos = []
response = requests.get(url)
if response.status_code == 200:
data = response.json()
for video in data.get("items",[]):
if video["snippet"].get("liveBroadcastContent") == "live":
live_videos.append({"id":video["id"].get("videoId"),"title":video["snippet"].get("title")})
return live_videos
while True:
videos = get_live_videos(CHANNEL_ID)
if len(videos) > 0:
for video in videos:
print("配信中です!→" + video["id"] + video["title"])
else:
print("ライブ配信がみつかりません")
time.sleep(10)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。