xwa-api
Version:
GARFIELD 6.0 BY NOIZE.
69 lines (59 loc) • 3.65 kB
JavaScript
/*COPYRIGHT (C) 2022 CODED BY NOIZE */
const Garfield = require('../events');
const {MessageType} = require('@adiwajshing/baileys');
const got = require('got');
const Config = require('../config');
const Language = require('../language');
const Lang = Language.getString('weather');
if (Config.WORKTYPE == 'private') {
Garfield.addXnodes({pattern: 'weather ?(.*)', desc: Lang.WEATHER_DESC, fromMe: true}, async (message, match) => {
if (match[1] === '') return await message.reply(Lang.NEED_LOCATION);
const url = `http://api.openweathermap.org/data/2.5/weather?q=${match[1]}&units=metric&appid=060a6bcfa19809c2cd4d97a212b19273&language=tr`;
try {
const response = await got(url);
const json = JSON.parse(response.body);
if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📍 ' + Lang.LOCATION +':* ```' + match[1] + '```\n\n' +
'*☀ ' + Lang.TEMP +':* ```' + json.main.temp_max + '°```\n' +
'*ℹ ' + Lang.DESC +':* ```' + json.weather[0].description + '```\n' +
'*☀ ' + Lang.HUMI +':* ```%' + json.main.humidity + '```\n' +
'*💨 ' + Lang.WIND +':* ```' + json.wind.speed + 'm/s```\n' +
'*☁ ' + Lang.CLOUD +':* ```%' + json.clouds.all + '```\n', MessageType.text);
} catch {
return await message.client.sendMessage(message.jid, Lang.NOT_FOUND, MessageType.text);
}
});
}
if (Config.WORKTYPE == 'public') {
Garfield.addXnodes({pattern: 'weather ?(.*)', desc: Lang.WEATHER_DESC, fromMe: false}, async (message, match) => {
if (match[1] === '') return await message.reply(Lang.NEED_LOCATION);
const url = `http://api.openweathermap.org/data/2.5/weather?q=${match[1]}&units=metric&appid=060a6bcfa19809c2cd4d97a212b19273&language=tr`;
try {
const response = await got(url);
const json = JSON.parse(response.body);
if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📍 ' + Lang.LOCATION +':* ```' + match[1] + '```\n\n' +
'*☀ ' + Lang.TEMP +':* ```' + json.main.temp_max + '°```\n' +
'*ℹ ' + Lang.DESC +':* ```' + json.weather[0].description + '```\n' +
'*☀ ' + Lang.HUMI +':* ```%' + json.main.humidity + '```\n' +
'*💨 ' + Lang.WIND +':* ```' + json.wind.speed + 'm/s```\n' +
'*☁ ' + Lang.CLOUD +':* ```%' + json.clouds.all + '```\n', MessageType.text);
} catch {
return await message.client.sendMessage(message.jid, Lang.NOT_FOUND, MessageType.text);
}
});
Garfield.addXnodes({pattern: 'weather ?(.*)', desc: Lang.WEATHER_DESC, fromMe: true, dontAddCommandList: true}, async (message, match) => {
if (match[1] === '') return await message.reply(Lang.NEED_LOCATION);
const url = `http://api.openweathermap.org/data/2.5/weather?q=${match[1]}&units=metric&appid=060a6bcfa19809c2cd4d97a212b19273&language=tr`;
try {
const response = await got(url);
const json = JSON.parse(response.body);
if (response.statusCode === 200) return await message.client.sendMessage(message.jid, '*📍 ' + Lang.LOCATION +':* ```' + match[1] + '```\n\n' +
'*☀ ' + Lang.TEMP +':* ```' + json.main.temp_max + '°```\n' +
'*ℹ ' + Lang.DESC +':* ```' + json.weather[0].description + '```\n' +
'*☀ ' + Lang.HUMI +':* ```%' + json.main.humidity + '```\n' +
'*💨 ' + Lang.WIND +':* ```' + json.wind.speed + 'm/s```\n' +
'*☁ ' + Lang.CLOUD +':* ```%' + json.clouds.all + '```\n', MessageType.text);
} catch {
return await message.client.sendMessage(message.jid, Lang.NOT_FOUND, MessageType.text);
}
});
}