seawolf2357 commited on
Commit
2b30038
ยท
verified ยท
1 Parent(s): 446133e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -22
app.py CHANGED
@@ -33,32 +33,56 @@ conversation_histories = {}
33
 
34
  def google_search(query):
35
  logger.info(f"Searching for query: {query}")
36
- url = f"https://www.googleapis.com/customsearch/v1?key={API_KEY}&cx={CX}&q={query}&num=10"
37
- logger.debug(f"Request URL: {url}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  try:
40
- response = requests.get(url)
41
- response.raise_for_status()
42
- search_results = response.json()
43
- logger.debug(f"API Response: {search_results}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  results = []
46
- if 'items' in search_results:
47
- for item in search_results['items'][:10]:
48
- title = item['title']
49
- link = item['link']
50
- snippet = item.get('snippet', '')
51
- results.append(f"Title: {title}\nLink: {link}\nSnippet: {snippet}\n\n")
52
- else:
53
- logger.warning("No items found in search results")
54
- if 'error' in search_results:
55
- error_message = search_results['error']['message']
56
- logger.error(f"API Error: {error_message}")
57
- results.append(f"Error: {error_message}")
58
- else:
59
- results.append("No results found")
60
 
61
- return '\n'.join(results[:10])
62
 
63
  except requests.exceptions.RequestException as e:
64
  logger.error(f"Request failed: {e}")
@@ -163,7 +187,7 @@ async def generate_response(message):
163
  except Exception as e:
164
  logging.error(f"Error in generate_response: {e}")
165
  return f"{user_mention}, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•ด ์ฃผ์„ธ์š”."
166
-
167
  if __name__ == "__main__":
168
  # Discord ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰
169
  bot = MyClient()
 
33
 
34
  def google_search(query):
35
  logger.info(f"Searching for query: {query}")
36
+
37
+ # ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •
38
+ params = {
39
+ 'key': API_KEY,
40
+ 'cx': CX,
41
+ 'q': query,
42
+ 'num': 10,
43
+ 'sort': 'date:r:1m', # ์ตœ๊ทผ 1๊ฐœ์›” ๋‚ด์˜ ๊ฒฐ๊ณผ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ •๋ ฌ
44
+ 'dateRestrict': 'm1', # ์ตœ๊ทผ 1๊ฐœ์›” ๋‚ด์˜ ๊ฒฐ๊ณผ๋งŒ ํ‘œ์‹œ
45
+ }
46
+
47
+ # ๋‰ด์Šค ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ถ”๊ฐ€
48
+ news_params = params.copy()
49
+ news_params['tbm'] = 'nws'
50
+
51
+ url = "https://www.googleapis.com/customsearch/v1"
52
 
53
  try:
54
+ # ๋‰ด์Šค ๊ฒ€์ƒ‰
55
+ news_response = requests.get(url, params=news_params)
56
+ news_response.raise_for_status()
57
+ news_results = news_response.json()
58
+
59
+ # ์ผ๋ฐ˜ ๊ฒ€์ƒ‰
60
+ general_response = requests.get(url, params=params)
61
+ general_response.raise_for_status()
62
+ general_results = general_response.json()
63
+
64
+ # ๊ฒฐ๊ณผ ํ•ฉ์น˜๊ธฐ
65
+ combined_results = []
66
+
67
+ # ๋‰ด์Šค ๊ฒฐ๊ณผ ์ถ”๊ฐ€ (์ตœ๋Œ€ 3๊ฐœ)
68
+ if 'items' in news_results:
69
+ combined_results.extend(news_results['items'][:3])
70
+
71
+ # ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ถ”๊ฐ€
72
+ if 'items' in general_results:
73
+ combined_results.extend(general_results['items'])
74
+
75
+ # ์ตœ๋Œ€ 10๊ฐœ ๊ฒฐ๊ณผ๋กœ ์ œํ•œ
76
+ combined_results = combined_results[:10]
77
 
78
  results = []
79
+ for item in combined_results:
80
+ title = item['title']
81
+ link = item['link']
82
+ snippet = item.get('snippet', '')
83
+ results.append(f"Title: {title}\nLink: {link}\nSnippet: {snippet}\n\n")
 
 
 
 
 
 
 
 
 
84
 
85
+ return '\n'.join(results)
86
 
87
  except requests.exceptions.RequestException as e:
88
  logger.error(f"Request failed: {e}")
 
187
  except Exception as e:
188
  logging.error(f"Error in generate_response: {e}")
189
  return f"{user_mention}, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•ด ์ฃผ์„ธ์š”."
190
+
191
  if __name__ == "__main__":
192
  # Discord ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰
193
  bot = MyClient()