bitbot-3.11-fork/modules/duckduckgo.py

27 lines
812 B
Python
Raw Normal View History

#--depends-on commands
2019-04-25 19:18:13 +00:00
from src import ModuleManager, utils
URL_DDG = "https://api.duckduckgo.com"
class Module(ModuleManager.BaseModule):
_name = "DDG"
@utils.hook("received.command.ddg", min_args=1)
def duckduckgo(self, event):
"""
2019-04-25 19:19:25 +00:00
:help: Get first DuckDuckGo result for a given search term
2019-04-25 19:18:13 +00:00
:usage: [search term]
"""
phrase = event["args"] or event["target"].buffer.get()
if phrase:
page = utils.http.request(URL_DDG, get_params={
"q": phrase, "format": "json", "no_html": "1",
"no_redirect": "1"}, json=True)
if page and page.data["AbstractURL"]:
2019-04-25 19:18:13 +00:00
event["stdout"].write(page.data["AbstractURL"])
else:
event["stderr"].write("No results found")