mirror of https://github.com/stijndcl/didier
Show search result in google embed
parent
831459a321
commit
c47f908e57
|
@ -22,7 +22,6 @@ class GoogleSlash(commands.Cog):
|
|||
return await interaction.reply("Er ging iets fout (Response {})".format(result.status_code))
|
||||
|
||||
embed = create_google_embed(result)
|
||||
print("got here")
|
||||
await interaction.reply(embed=embed)
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
from typing import Optional, List
|
||||
from typing import List
|
||||
|
||||
import discord
|
||||
from bs4 import BeautifulSoup
|
||||
from dataclasses import dataclass
|
||||
from requests import get
|
||||
from urllib.parse import urlencode
|
||||
from urllib.parse import urlencode, unquote_plus
|
||||
|
||||
|
||||
@dataclass
|
||||
class SearchResult:
|
||||
status_code: int
|
||||
query: str
|
||||
results: List[str]
|
||||
|
||||
def __post_init__(self):
|
||||
self.query = unquote_plus(self.query[2:])
|
||||
|
||||
|
||||
def google_search(query) -> SearchResult:
|
||||
"""
|
||||
|
@ -27,7 +31,7 @@ def google_search(query) -> SearchResult:
|
|||
resp = get("https://www.google.com/search?{}&num=20&hl=en".format(query), headers=headers)
|
||||
|
||||
if resp.status_code != 200:
|
||||
return SearchResult(resp.status_code, [])
|
||||
return SearchResult(resp.status_code, query, [])
|
||||
|
||||
bs = BeautifulSoup(resp.text, "html.parser")
|
||||
|
||||
|
@ -52,10 +56,10 @@ def google_search(query) -> SearchResult:
|
|||
|
||||
# Map to urls
|
||||
links = []
|
||||
for (link, title) in results:
|
||||
links.append(f"[{title}]({link})")
|
||||
for (l, t) in results:
|
||||
links.append(f"[{t}]({l})")
|
||||
|
||||
return SearchResult(200, links[:10])
|
||||
return SearchResult(200, query, links[:10])
|
||||
|
||||
|
||||
def create_google_embed(result: SearchResult) -> discord.Embed:
|
||||
|
@ -76,4 +80,10 @@ def create_google_embed(result: SearchResult) -> discord.Embed:
|
|||
|
||||
embed.description = "\n".join(links)
|
||||
|
||||
# Add query into embed
|
||||
if len(result.query) > 256:
|
||||
embed.title = result.query[:253] + "..."
|
||||
else:
|
||||
embed.title = result.query
|
||||
|
||||
return embed
|
||||
|
|
Loading…
Reference in New Issue