rateless_bot 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +9 -6
- data/lib/rateless_bot/plugins/weather.rb +45 -0
- data/lib/rateless_bot/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1afd0f0f226de0939b6d63f901740003e936a9d5
|
4
|
+
data.tar.gz: c9d644125b2eea0c6b5d97291a7f6fbabc0aa0e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dc300b8625b19a2176affabbc6d1e852b67dd89107708c25c6bdcc6b99edd38224a8cc1f3f0478a9cab17872a335d83bc1e01cd77c024f683e579ab6c26326f
|
7
|
+
data.tar.gz: 0cd08b179156cea5d69a63dc66ea70774560e58a4c8c8a9db00be25b3abbddd961fc03f6ebb5dae39636458fb8f116ea1eb90c947e8805db89007f4b92ea4ed7
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -15,11 +15,13 @@ Launch Options:
|
|
15
15
|
|
16
16
|
$ rateless_bot -h
|
17
17
|
Usage: rateless_bot [options]
|
18
|
-
--nick NICK
|
19
|
-
--server SERVER
|
20
|
-
--channel CHANNEL
|
21
|
-
--lastfm-api-key KEY
|
22
|
-
--lastfm-api-secret SECRET
|
18
|
+
--nick NICK Bot's nick (required)
|
19
|
+
--server SERVER IRC server (required)
|
20
|
+
--channel CHANNEL IRC channel (required)
|
21
|
+
--lastfm-api-key KEY LastFM API key
|
22
|
+
--lastfm-api-secret SECRET LastFM secret API key
|
23
|
+
--open-weather-map-api-key KEY OpenWeatherMap API key
|
24
|
+
|
23
25
|
-h, --help Prints this help
|
24
26
|
|
25
27
|
Interacting with the bot:
|
@@ -30,7 +32,8 @@ Interacting with the bot:
|
|
30
32
|
-Rateless-Bot- !roll XdY - rolls dice (replace X with number of dice and Y with number of sides)
|
31
33
|
-Rateless-Bot- !lastfm USERNAME - gets the most recently listened-to track for a given user
|
32
34
|
-Rateless-Bot- !8ball - Magic Eight Ball
|
33
|
-
|
35
|
+
-Rateless-Bot- !weather CITY/ZIP - gets the current temperature for a given city/zip
|
36
|
+
|
34
37
|
## Development
|
35
38
|
|
36
39
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -24,6 +24,8 @@ class Weather
|
|
24
24
|
m.reply make_current_weather_str(current_weather)
|
25
25
|
end
|
26
26
|
|
27
|
+
private
|
28
|
+
|
27
29
|
def make_current_weather_str(current_weather)
|
28
30
|
if current_weather['cod'] == '404'
|
29
31
|
return 'Error: City not found'
|
@@ -36,10 +38,53 @@ class Weather
|
|
36
38
|
humidity = current_weather['main']['humidity']
|
37
39
|
temp_celsius = current_weather['main']['temp'].round(1)
|
38
40
|
temp_fahrenheit = (temp_celsius * 1.8 + 32).round(1)
|
41
|
+
wind_speed_mps = current_weather['wind']['speed']
|
42
|
+
wind_speed_mph = (wind_speed_mps * 0.000621371 * 60**2).round(2)
|
43
|
+
wind_direction_degrees = current_weather['wind']['deg']
|
44
|
+
cardinal_wind_direction = degrees_to_cardinal(wind_direction_degrees)
|
39
45
|
weather_description = current_weather['weather'][0]['description']
|
40
46
|
|
41
47
|
s = "Weather for #{city} (#{country}): "
|
42
48
|
s += "#{temp_celsius}°C (#{temp_fahrenheit}°F); #{humidity}% humidity; "
|
49
|
+
s += "#{wind_speed_mps}m/s (#{wind_speed_mph}mph) winds "
|
50
|
+
s += "blowing #{cardinal_wind_direction} (#{wind_direction_degrees}°); "
|
43
51
|
s += "#{weather_description}"
|
44
52
|
end
|
53
|
+
|
54
|
+
def degrees_to_cardinal(degree)
|
55
|
+
case degree
|
56
|
+
when ((degree >= 348.75) or 0..11.25)
|
57
|
+
'North'
|
58
|
+
when 11.25..33.75
|
59
|
+
'North-Northeast'
|
60
|
+
when 33.75..56.25
|
61
|
+
'Northeast'
|
62
|
+
when 56.25..78.75
|
63
|
+
'East-Northeast'
|
64
|
+
when 78.75..101.25
|
65
|
+
'East'
|
66
|
+
when 101.25..123.75
|
67
|
+
'East-Southeast'
|
68
|
+
when 123.75..146.25
|
69
|
+
'Southeast'
|
70
|
+
when 146.25..168.75
|
71
|
+
'South-Southeast'
|
72
|
+
when 168.75..191.25
|
73
|
+
'South'
|
74
|
+
when 191.25..213.75
|
75
|
+
'South-Southwest'
|
76
|
+
when 213.75..236.25
|
77
|
+
'Southwest'
|
78
|
+
when 236.25..258.75
|
79
|
+
'West-Southwest'
|
80
|
+
when 258.75..281.25
|
81
|
+
'West'
|
82
|
+
when 281.25..303.75
|
83
|
+
'West-Northwest'
|
84
|
+
when 303.75..326.25
|
85
|
+
'Northwest'
|
86
|
+
when 326.25..348.75
|
87
|
+
'North-Northwest'
|
88
|
+
end
|
89
|
+
end
|
45
90
|
end
|
data/lib/rateless_bot/version.rb
CHANGED