seawolf2357 commited on
Commit
f37c1ff
Β·
verified Β·
1 Parent(s): b1c9665

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -6
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
- return [video['video_files'][0]['link'] for video in data['videos']]
 
 
 
 
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)