shape shape
logo

FHY-Bot

Cuaca

Perkiraan cuaca di berbagai kota

Instalasi:

Langkah-langkah instalasi pemasangan plugin Anda bisa lihat di Dokumentasi

Penggunaan:


const axios = require('axios');

const EMOJIS = {
    loading: 'šŸ•’',
    success: 'āœ…',
    error: 'āŒ'
};

module.exports = async (sock, message, msg, sender) => {
    if (msg && msg.toLowerCase().startsWith('.weather')) {
        const cityName = msg.split(' ').slice(1).join(' ').trim();

        if (!cityName) {
            await sock.sendMessage(sender, { text: 'Contoh: .weather Jakarta' }, { quoted: message });
            return;
        }

        try {
			await sock.sendMessage(sender, { react: { text: EMOJIS.loading, key: message.key } });
            const weatherUrl = `https://wttr.in/${cityName}?format=%t|%C|%w|%h&lang=id&m`;
            const response = await axios.get(weatherUrl);
            const weatherData = response.data;

            const weatherParts = weatherData.split('|');
            const temperature = weatherParts[0];
            const condition = weatherParts[1];
            const wind = weatherParts[2];
            const humidity = weatherParts[3];

            const weatherJson = {
                temperature: temperature.trim(),
                condition: condition.trim(),
                wind: wind.trim(),
                humidity: humidity.trim()
            };

            const weatherText = `*Cuaca di ${cityName}:*\n\nšŸŒ”ļø *Suhu:* ${weatherJson.temperature}\nšŸŒ¤ļø *Kondisi:* ${weatherJson.condition}\nšŸŒ¬ļø *Angin:* ${weatherJson.wind}\nšŸ’§ *Kelembapan:* ${weatherJson.humidity}`.trim();

            await sock.sendMessage(sender, { text: weatherText }, { quoted: message });
			await sock.sendMessage(sender, { react: { text: EMOJIS.success, key: message.key } });
        } catch (err) {
            console.error('Weather Error:', err.message);
			await sock.sendMessage(sender, { react: { text: EMOJIS.error, key: message.key } });
        }
    }
};
Plugin tidak berkerja? Laporkan!