sopel-plugins/pogoda-req.py

35 lines
1.2 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: UTF-8 -*-
# Author xmszkn
# script for Sopel Bot
# working with pybot on #knajpa
# use wttr.in
# https://github.com/chubin/wttr.in
# import modules, You need to install the following from pypi.org (pip install...): ushlex, bs4, requests and lxml
from sopel import plugin, tools
from shlex import quote
import requests
from bs4 import BeautifulSoup
# calling commands and triggers
@plugin.command('pogoda', 'p')
@plugin.action_command('pogoda')
@plugin.example('.pogoda Londyn', 'Londyn: ⛅️ 🌡️+11°C 🌬↗26km/h')
# method definition
def Pogoda(bot, trigger):
query = trigger.group(2)
if not query:
bot.reply('Podaj miasto. np. .pogoda Londyn')
else:
query = query.strip()
start_url = ("https://wttr.in/" + quote(query) + "?format=%l:+%c+%t+%h+%w+%P+%m+uv:%u")
download_html = requests.get(start_url)
soup = BeautifulSoup(download_html.text, features="lxml")
pogoda_raw = str(soup)
pogoda_raw_1 = pogoda_raw.lstrip("<html><body><p>")
pogoda = pogoda_raw_1.rstrip("</p></body></html>")
exclude = "404"
if exclude in pogoda:
bot.say("Nie ma takiego miasta. Jest Lądek.. Lądek-Zdrój")
else:
bot.say(pogoda)