commit eec1d1fd81e27f3705db9fcd59d9d62a0a8f6cef
parent be761a330f735d8c51110a1f2ad1914007656f4e
Author: Demonstrandum <moi@knutsen.co>
Date: Mon, 23 Mar 2020 14:04:56 +0000
Fix merge conflict.
Diffstat:
4 files changed, 264 insertions(+), 8 deletions(-)
diff --git a/lib/commands/weather.ts b/lib/commands/weather.ts
@@ -1,6 +1,9 @@
import fetch, { Response } from 'node-fetch';
-import { MessageAttachment, MessageEmbed } from 'discord.js';
+import { MessageEmbed } from 'discord.js';
+import countries from '../resources/countries.json';
+const directions = ['north', 'north-east', 'east', 'south-east',
+ 'south', 'south-west', 'west', 'north-west', 'north'];
const WEATHER_URL = 'http://api.openweathermap.org/data/2.5/weather';
export default (home_scope: HomeScope) => {
@@ -28,7 +31,7 @@ export default (home_scope: HomeScope) => {
.then(d => {
const date = new Date();
const tz = d.timezone / 3600; // Now in hours.
- const tz_frac = tz % 1; // Fractional part.
+ const tz_frac = tz % 1; // Fractional part in hours.
if (tz_frac === 0)
date.setMinutes(date.getMinutes() + tz_frac * 60);
@@ -40,13 +43,15 @@ export default (home_scope: HomeScope) => {
const embed = d.main
? new MessageEmbed()
- .setTitle(`${d.main.temp}°C (feels like ${d.main.feels_like}°C)`)
- .setAuthor(`${hour}:${minutes} ${d.name}, ${country}`)
+ .setTitle(`${d.main.temp}°C (feels ${d.main.feels_like}°C)`)
+ .setAuthor(`${hour}:${minutes} ${d.name}, ${countries[country].toLowerCase()}`)
.setDescription(d.weather[0].description)
.setThumbnail(`https://openweathermap.org/img/wn/${d.weather[0].icon}@2x.png`)
.addFields(
- { name: 'day temp', value: d.main.temp_max + '°C', inline: true },
- { name: 'night temp', value: d.main.temp_min + '°C', inline: true })
+ { name: 'day-time', value: d.main.temp_max + '°C', inline: true },
+ { name: 'night-time', value: d.main.temp_min + '°C', inline: true },
+ { name: 'humidity', value: d.main.humidity + '%', inline: true },
+ { name: 'wind', value: `${directions[Math.round(d.wind.deg / 45)]} ${d.wind.speed} m/s`, inline: true })
: new MessageEmbed()
.setTitle(`Cannot get weather information from ${location}.`);
diff --git a/lib/extensions.ts b/lib/extensions.ts
@@ -231,7 +231,7 @@ Number.prototype.to_metric = function (figures) {
};
Number.prototype.truncate = function() {
- return Number(this.toFixed());
+ return this.valueOf() - (this.valueOf() % 1);
};
// Discord Extensions:
diff --git a/lib/resources/countries.json b/lib/resources/countries.json
@@ -0,0 +1,247 @@
+{
+ "AF": "Afghanistan",
+ "AX": "Aland Islands",
+ "AL": "Albania",
+ "DZ": "Algeria",
+ "AS": "American Samoa",
+ "AD": "Andorra",
+ "AO": "Angola",
+ "AI": "Anguilla",
+ "AQ": "Antarctica",
+ "AG": "Antigua And Barbuda",
+ "AR": "Argentina",
+ "AM": "Armenia",
+ "AW": "Aruba",
+ "AU": "Australia",
+ "AT": "Austria",
+ "AZ": "Azerbaijan",
+ "BS": "Bahamas",
+ "BH": "Bahrain",
+ "BD": "Bangladesh",
+ "BB": "Barbados",
+ "BY": "Belarus",
+ "BE": "Belgium",
+ "BZ": "Belize",
+ "BJ": "Benin",
+ "BM": "Bermuda",
+ "BT": "Bhutan",
+ "BO": "Bolivia",
+ "BA": "Bosnia And Herzegovina",
+ "BW": "Botswana",
+ "BV": "Bouvet Island",
+ "BR": "Brazil",
+ "IO": "British Indian Ocean Territory",
+ "BN": "Brunei Darussalam",
+ "BG": "Bulgaria",
+ "BF": "Burkina Faso",
+ "BI": "Burundi",
+ "KH": "Cambodia",
+ "CM": "Cameroon",
+ "CA": "Canada",
+ "CV": "Cape Verde",
+ "KY": "Cayman Islands",
+ "CF": "Central African Republic",
+ "TD": "Chad",
+ "CL": "Chile",
+ "CN": "China",
+ "CX": "Christmas Island",
+ "CC": "Cocos (Keeling) Islands",
+ "CO": "Colombia",
+ "KM": "Comoros",
+ "CG": "Congo",
+ "CD": "Congo, Democratic Republic",
+ "CK": "Cook Islands",
+ "CR": "Costa Rica",
+ "CI": "Cote D\"Ivoire",
+ "HR": "Croatia",
+ "CU": "Cuba",
+ "CY": "Cyprus",
+ "CZ": "Czech Republic",
+ "DK": "Denmark",
+ "DJ": "Djibouti",
+ "DM": "Dominica",
+ "DO": "Dominican Republic",
+ "EC": "Ecuador",
+ "EG": "Egypt",
+ "SV": "El Salvador",
+ "GQ": "Equatorial Guinea",
+ "ER": "Eritrea",
+ "EE": "Estonia",
+ "ET": "Ethiopia",
+ "FK": "Falkland Islands (Malvinas)",
+ "FO": "Faroe Islands",
+ "FJ": "Fiji",
+ "FI": "Finland",
+ "FR": "France",
+ "GF": "French Guiana",
+ "PF": "French Polynesia",
+ "TF": "French Southern Territories",
+ "GA": "Gabon",
+ "GM": "Gambia",
+ "GE": "Georgia",
+ "DE": "Germany",
+ "GH": "Ghana",
+ "GI": "Gibraltar",
+ "GR": "Greece",
+ "GL": "Greenland",
+ "GD": "Grenada",
+ "GP": "Guadeloupe",
+ "GU": "Guam",
+ "GT": "Guatemala",
+ "GG": "Guernsey",
+ "GN": "Guinea",
+ "GW": "Guinea-Bissau",
+ "GY": "Guyana",
+ "HT": "Haiti",
+ "HM": "Heard Island & Mcdonald Islands",
+ "VA": "Holy See (Vatican City State)",
+ "HN": "Honduras",
+ "HK": "Hong Kong",
+ "HU": "Hungary",
+ "IS": "Iceland",
+ "IN": "India",
+ "ID": "Indonesia",
+ "IR": "Iran, Islamic Republic Of",
+ "IQ": "Iraq",
+ "IE": "Ireland",
+ "IM": "Isle Of Man",
+ "IL": "Israel",
+ "IT": "Italy",
+ "JM": "Jamaica",
+ "JP": "Japan",
+ "JE": "Jersey",
+ "JO": "Jordan",
+ "KZ": "Kazakhstan",
+ "KE": "Kenya",
+ "KI": "Kiribati",
+ "KR": "Korea",
+ "KW": "Kuwait",
+ "KG": "Kyrgyzstan",
+ "LA": "Lao People\"s Democratic Republic",
+ "LV": "Latvia",
+ "LB": "Lebanon",
+ "LS": "Lesotho",
+ "LR": "Liberia",
+ "LY": "Libyan Arab Jamahiriya",
+ "LI": "Liechtenstein",
+ "LT": "Lithuania",
+ "LU": "Luxembourg",
+ "MO": "Macao",
+ "MK": "Macedonia",
+ "MG": "Madagascar",
+ "MW": "Malawi",
+ "MY": "Malaysia",
+ "MV": "Maldives",
+ "ML": "Mali",
+ "MT": "Malta",
+ "MH": "Marshall Islands",
+ "MQ": "Martinique",
+ "MR": "Mauritania",
+ "MU": "Mauritius",
+ "YT": "Mayotte",
+ "MX": "Mexico",
+ "FM": "Micronesia, Federated States Of",
+ "MD": "Moldova",
+ "MC": "Monaco",
+ "MN": "Mongolia",
+ "ME": "Montenegro",
+ "MS": "Montserrat",
+ "MA": "Morocco",
+ "MZ": "Mozambique",
+ "MM": "Myanmar",
+ "NA": "Namibia",
+ "NR": "Nauru",
+ "NP": "Nepal",
+ "NL": "Netherlands",
+ "AN": "Netherlands Antilles",
+ "NC": "New Caledonia",
+ "NZ": "New Zealand",
+ "NI": "Nicaragua",
+ "NE": "Niger",
+ "NG": "Nigeria",
+ "NU": "Niue",
+ "NF": "Norfolk Island",
+ "MP": "Northern Mariana Islands",
+ "NO": "Norway",
+ "OM": "Oman",
+ "PK": "Pakistan",
+ "PW": "Palau",
+ "PS": "Palestinian Territory, Occupied",
+ "PA": "Panama",
+ "PG": "Papua New Guinea",
+ "PY": "Paraguay",
+ "PE": "Peru",
+ "PH": "Philippines",
+ "PN": "Pitcairn",
+ "PL": "Poland",
+ "PT": "Portugal",
+ "PR": "Puerto Rico",
+ "QA": "Qatar",
+ "RE": "Reunion",
+ "RO": "Romania",
+ "RU": "Russia",
+ "RW": "Rwanda",
+ "BL": "Saint Barthelemy",
+ "SH": "Saint Helena",
+ "KN": "Saint Kitts And Nevis",
+ "LC": "Saint Lucia",
+ "MF": "Saint Martin",
+ "PM": "Saint Pierre And Miquelon",
+ "VC": "Saint Vincent And Grenadines",
+ "WS": "Samoa",
+ "SM": "San Marino",
+ "ST": "Sao Tome And Principe",
+ "SA": "Saudi Arabia",
+ "SN": "Senegal",
+ "RS": "Serbia",
+ "SC": "Seychelles",
+ "SL": "Sierra Leone",
+ "SG": "Singapore",
+ "SK": "Slovakia",
+ "SI": "Slovenia",
+ "SB": "Solomon Islands",
+ "SO": "Somalia",
+ "ZA": "South Africa",
+ "GS": "South Georgia And Sandwich Isl.",
+ "ES": "Spain",
+ "LK": "Sri Lanka",
+ "SD": "Sudan",
+ "SR": "Suriname",
+ "SJ": "Svalbard And Jan Mayen",
+ "SZ": "Swaziland",
+ "SE": "Sweden",
+ "CH": "Switzerland",
+ "SY": "Syrian Arab Republic",
+ "TW": "Taiwan",
+ "TJ": "Tajikistan",
+ "TZ": "Tanzania",
+ "TH": "Thailand",
+ "TL": "Timor-Leste",
+ "TG": "Togo",
+ "TK": "Tokelau",
+ "TO": "Tonga",
+ "TT": "Trinidad And Tobago",
+ "TN": "Tunisia",
+ "TR": "Turkey",
+ "TM": "Turkmenistan",
+ "TC": "Turks And Caicos Islands",
+ "TV": "Tuvalu",
+ "UG": "Uganda",
+ "UA": "Ukraine",
+ "AE": "United Arab Emirates",
+ "GB": "United Kingdom",
+ "US": "United States",
+ "UM": "United States Outlying Islands",
+ "UY": "Uruguay",
+ "UZ": "Uzbekistan",
+ "VU": "Vanuatu",
+ "VE": "Venezuela",
+ "VN": "Vietnam",
+ "VG": "Virgin Islands, British",
+ "VI": "Virgin Islands, U.S.",
+ "WF": "Wallis And Futuna",
+ "EH": "Western Sahara",
+ "YE": "Yemen",
+ "ZM": "Zambia",
+ "ZW": "Zimbabwe"
+}+
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
@@ -64,6 +64,9 @@
"emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
/* Advanced Options */
- "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
+ "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
+
+ /* Extra */
+ "resolveJsonModule": true
},
}