Skip to content
This repository was archived by the owner on Feb 21, 2018. It is now read-only.

Commit 87e738f

Browse files
committed
bot/tfw: New module
1 parent c2c50be commit 87e738f

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

modules/bot/tfw.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
"""
2+
Copyright (c) 2013, Sam Dodrill
3+
All rights reserved.
4+
5+
This software is provided 'as-is', without any express or implied
6+
warranty. In no event will the authors be held liable for any damages
7+
arising from the use of this software.
8+
9+
Permission is granted to anyone to use this software for any purpose,
10+
including commercial applications, and to alter it and redistribute it
11+
freely, subject to the following restrictions:
12+
13+
1. The origin of this software must not be misrepresented; you must not
14+
claim that you wrote the original software. If you use this software
15+
in a product, an acknowledgment in the product documentation would be
16+
appreciated but is not required.
17+
18+
2. Altered source versions must be plainly marked as such, and must not be
19+
misrepresented as being the original software.
20+
21+
3. This notice may not be removed or altered from any source
22+
distribution.
23+
"""
24+
25+
NAME="Explicit Weather API"
26+
DESC="Reads information from http://thefuckingweather.com"
27+
28+
import requests
29+
from bs4 import BeautifulSoup
30+
31+
def initModule(cod):
32+
cod.botcommands["TFW"] = [commandTFW]
33+
34+
def destroyModule(cod):
35+
del cod.botcommands["TFW"]
36+
37+
def commandTFW(cod, line, splitline, source, destination):
38+
location = " ".join(splitline[1:])
39+
40+
html = requests.get("http://thefuckingweather.com/?where=%s&unit=c" % location)
41+
soup = BeautifulSoup(html.text)
42+
remark = soup('p', {"class": "remark"})[0].getText()
43+
temp = soup('span', {"class": "temperature"})[0].getText()
44+
locale = soup('span', {"id": "locationDisplaySpan"})[0].getText()
45+
46+
cod.reply(source, destination, str("THE FUCKING Weather report for %s: %s (%s degrees C)" % (locale, remark, temp)).upper())
47+

0 commit comments

Comments
 (0)