Adding river flow stats for zoid
This commit is contained in:
parent
2e8cd8536e
commit
35f426d304
@ -11,9 +11,9 @@ import requests
|
||||
|
||||
import animals
|
||||
import core_utils
|
||||
import dice
|
||||
import decide
|
||||
import define_word
|
||||
import dice
|
||||
import discord
|
||||
import docker
|
||||
import eight_ball
|
||||
@ -23,16 +23,16 @@ import get_from_reddit
|
||||
import gitlab
|
||||
import help_methods
|
||||
import lewds
|
||||
import meme_gen
|
||||
import quake
|
||||
import questions
|
||||
import river_stats
|
||||
import role_check
|
||||
import set_avatar
|
||||
import stock
|
||||
import tts
|
||||
import wallpaper
|
||||
import weather
|
||||
import meme_gen
|
||||
|
||||
# Client object
|
||||
client = discord.Client()
|
||||
dragon_environment = os.getenv('DRAGON_ENV')
|
||||
@ -182,6 +182,12 @@ async def on_message(message):
|
||||
if message.content.startswith('!emoji'):
|
||||
await emoji.parse_message(client, message)
|
||||
|
||||
if message.content.startswith('!flows'):
|
||||
await client.send_message(
|
||||
message.channel,
|
||||
river_stats.get_stats()
|
||||
)
|
||||
|
||||
if message.content.startswith('!greentext'):
|
||||
await client.send_message(
|
||||
message.channel,
|
||||
@ -293,7 +299,7 @@ async def on_message(message):
|
||||
await client.send_message(
|
||||
message.channel,
|
||||
dice.parse_message(message.content)
|
||||
)
|
||||
)
|
||||
|
||||
if message.content.startswith('!smug'):
|
||||
await client.send_message(
|
||||
|
@ -6,4 +6,5 @@ gTTS-token
|
||||
pyowm
|
||||
requests
|
||||
wikipedia
|
||||
wolframalpha
|
||||
wolframalpha
|
||||
lxml
|
40
app/river_stats.py
Normal file
40
app/river_stats.py
Normal file
@ -0,0 +1,40 @@
|
||||
import discord
|
||||
from bs4 import BeautifulSoup
|
||||
import requests
|
||||
import threading
|
||||
|
||||
results = {}
|
||||
|
||||
def get_river_stats(river_url):
|
||||
url = requests.get(river_url)
|
||||
|
||||
soup = BeautifulSoup(url.content, "lxml")
|
||||
river_name = ' '.join(soup.find('h2').text.split()[2:])
|
||||
table = soup.find('table', border=1, align='left')
|
||||
title = table.find('caption').text.strip().split('--')[0].strip()
|
||||
|
||||
for rows in table.findAll('tr'):
|
||||
flow_value = rows.findAll('td',{'class': 'highlight2'})
|
||||
results[river_name] = flow_value[0].text
|
||||
|
||||
|
||||
def get_stats():
|
||||
rivers = [
|
||||
'https://waterdata.usgs.gov/usa/nwis/uv?06752260',
|
||||
'https://waterdata.usgs.gov/co/nwis/uv/?site_no=07091200&PARAmeter_cd=00065,00060',
|
||||
'https://waterdata.usgs.gov/co/nwis/uv/?site_no=06719505&PARAmeter_cd=00065,00060',
|
||||
]
|
||||
threads = []
|
||||
for river in rivers:
|
||||
t = threading.Thread(target=get_river_stats, args=(river,))
|
||||
threads.append(t)
|
||||
t.start()
|
||||
|
||||
for x in threads:
|
||||
x.join()
|
||||
|
||||
final_string = ''
|
||||
for key, value in results.items():
|
||||
final_string += "\n" + key + ": " + value
|
||||
|
||||
return "```" + final_string + "```"
|
Loading…
x
Reference in New Issue
Block a user