Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -42,7 +42,7 @@ class MyClient(discord.Client):
|
|
42 |
# λ΄μ΄ μμλ λ μλ΄ λ©μμ§λ₯Ό μ μ‘
|
43 |
channel = self.get_channel(SPECIFIC_CHANNEL_ID)
|
44 |
if channel:
|
45 |
-
await channel.send("μ°Ύκ³ μΆμ λμμμ λν μ€λͺ
μ ν λ¬Έμ₯ λ¨μλ‘ μ
λ ₯νμΈμ. μ)
|
46 |
|
47 |
async def on_message(self, message):
|
48 |
if message.author == self.user:
|
@@ -56,13 +56,13 @@ class MyClient(discord.Client):
|
|
56 |
# μλ―Έ λΆμνμ¬ μλ¬Έ ν€μλ μΆμΆ
|
57 |
keywords = await extract_keywords(message)
|
58 |
if keywords:
|
59 |
-
# Pexels APIλ‘ λμμ κ²μ
|
60 |
video_urls = await search_videos(keywords)
|
61 |
if video_urls:
|
62 |
-
# μμ²μμμ μ°λ λ μμ± λ° λμμ μ μ‘
|
63 |
await create_thread_and_send_videos(message, keywords, video_urls)
|
64 |
else:
|
65 |
-
await message.channel.send(f"**{keywords}**μ λν λμμμ μ°Ύμ μ μμ΅λλ€.")
|
66 |
else:
|
67 |
await message.channel.send("ν€μλλ₯Ό μΆμΆν μ μμ΅λλ€.")
|
68 |
finally:
|
@@ -106,13 +106,17 @@ async def search_videos(keywords):
|
|
106 |
response = requests.get(PEXELS_API_VIDEO_URL, headers=headers, params=params)
|
107 |
if response.status_code == 200:
|
108 |
data = response.json()
|
109 |
-
|
|
|
|
|
|
|
|
|
110 |
return None
|
111 |
|
112 |
async def create_thread_and_send_videos(message, keywords, video_urls):
|
113 |
# μ°λ λ μμ±
|
114 |
thread = await message.channel.create_thread(name=f"{message.author.name}μ κ²μ κ²°κ³Ό", message=message)
|
115 |
-
message_content = f"**{keywords}**μ λν λμμ {len(video_urls)}κ°λ₯Ό μ°Ύμμ΅λλ€:"
|
116 |
await thread.send(message_content)
|
117 |
for url in video_urls:
|
118 |
await thread.send(url)
|
|
|
42 |
# λ΄μ΄ μμλ λ μλ΄ λ©μμ§λ₯Ό μ μ‘
|
43 |
channel = self.get_channel(SPECIFIC_CHANNEL_ID)
|
44 |
if channel:
|
45 |
+
await channel.send("μ°Ύκ³ μΆμ λμμμ λν μ€λͺ
μ ν λ¬Έμ₯ λ¨μλ‘ μ
λ ₯νμΈμ. μ) νλμ λ μκ°λ λΉνκΈ°")
|
46 |
|
47 |
async def on_message(self, message):
|
48 |
if message.author == self.user:
|
|
|
56 |
# μλ―Έ λΆμνμ¬ μλ¬Έ ν€μλ μΆμΆ
|
57 |
keywords = await extract_keywords(message)
|
58 |
if keywords:
|
59 |
+
# Pexels APIλ‘ κ³ ν΄μλ λμμ κ²μ
|
60 |
video_urls = await search_videos(keywords)
|
61 |
if video_urls:
|
62 |
+
# μμ²μμμ μ°λ λ μμ± λ° κ³ ν΄μλ λμμ μ μ‘
|
63 |
await create_thread_and_send_videos(message, keywords, video_urls)
|
64 |
else:
|
65 |
+
await message.channel.send(f"**{keywords}**μ λν κ³ ν΄μλ λμμμ μ°Ύμ μ μμ΅λλ€.")
|
66 |
else:
|
67 |
await message.channel.send("ν€μλλ₯Ό μΆμΆν μ μμ΅λλ€.")
|
68 |
finally:
|
|
|
106 |
response = requests.get(PEXELS_API_VIDEO_URL, headers=headers, params=params)
|
107 |
if response.status_code == 200:
|
108 |
data = response.json()
|
109 |
+
video_urls = []
|
110 |
+
for video in data['videos']:
|
111 |
+
highest_quality_video = max(video['video_files'], key=lambda x: x['width'] * x['height'])
|
112 |
+
video_urls.append(highest_quality_video['link'])
|
113 |
+
return video_urls
|
114 |
return None
|
115 |
|
116 |
async def create_thread_and_send_videos(message, keywords, video_urls):
|
117 |
# μ°λ λ μμ±
|
118 |
thread = await message.channel.create_thread(name=f"{message.author.name}μ κ²μ κ²°κ³Ό", message=message)
|
119 |
+
message_content = f"**{keywords}**μ λν κ³ ν΄μλ λμμ {len(video_urls)}κ°λ₯Ό μ°Ύμμ΅λλ€:"
|
120 |
await thread.send(message_content)
|
121 |
for url in video_urls:
|
122 |
await thread.send(url)
|