File size: 4,924 Bytes
046b271
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135


const axios = require('axios');
const { cmd, commands } = require('../command');

cmd({
    pattern: "cosplay",
    desc: "Fetch a random cosplay picture.",
    category: "fun",
    react: "🎭",
    filename: __filename
},
async (conn, mek, m, { from, reply }) => {
    try {
        // URL de l'API
        const apiUrl = `https://fantox-cosplay-api.onrender.com/`;
        const response = await axios.get(apiUrl);
        const data = response.data;

        // Validation de la réponse
        if (data && data.url) {
            // Envoi de l'image
            await conn.sendMessage(from, {
                image: { url: data.url },
                caption: "Here is your random cosplay picture! 🎭",
            }, { quoted: mek });
        } else {
            reply("Error: The API response is invalid. Could not fetch a cosplay picture.");
        }
    } catch (e) {
        // Gestion détaillée des erreurs
        if (e.response) {
            // Erreur renvoyée par l'API (ex. : 404, 500)
            reply(`API Error: ${e.response.status} - ${e.response.data?.message || 'No message provided by the server'}`);
        } else if (e.request) {
            // Erreur réseau : pas de réponse du serveur
            reply(
                "Network Error: The API server is not responding. Possible reasons:\n" +
                "- The server may be down or temporarily unavailable.\n" +
                "- There may be an issue with your internet connection.\n\n" +
                "Please check your internet connection and try again later."
            );
        } else {
            // Autre erreur
            reply(`Unexpected Error: ${e.message}`);
        }
    }
});
cmd({
    pattern: "neko",
    desc: "Fetch a random neko picture.",
    category: "fun",
    react: "🐱",
    filename: __filename
},
async (conn, mek, m, { from, reply }) => {
    try {
        // URL de l'API
        const apiUrl = `https://api.waifu.pics/sfw/neko`;
        const response = await axios.get(apiUrl);
        const data = response.data;

        // Validation de la réponse
        if (data && data.url) {
            // Envoi de l'image avec le caption
            await conn.sendMessage(from, {
                image: { url: data.url },
                caption: "Here is your random neko picture! 🐱",
            }, { quoted: mek });
        } else {
            reply("Error: The API response is invalid. Could not fetch a neko picture.");
        }
    } catch (e) {
        // Gestion détaillée des erreurs
        if (e.response) {
            // Erreur renvoyée par l'API (ex. : 404, 500)
            reply(`API Error: ${e.response.status} - ${e.response.data?.message || 'No message provided by the server'}`);
        } else if (e.request) {
            // Erreur réseau : pas de réponse du serveur
            reply(
                "Network Error: The API server is not responding. Possible reasons:\n" +
                "- The server may be down or temporarily unavailable.\n" +
                "- There may be an issue with your internet connection.\n\n" +
                "Please check your internet connection and try again later."
            );
        } else {
            // Autre erreur
            reply(`Unexpected Error: ${e.message}`);
        }
    }
});
cmd({
    pattern: "waifu",
    desc: "Fetch a random waifu picture.",
    category: "fun",
    react: "💖",
    filename: __filename
},
async (conn, mek, m, { from, reply }) => {
    try {
        // URL de l'API
        const apiUrl = `https://api.waifu.pics/sfw/waifu`;
        const response = await axios.get(apiUrl);
        const data = response.data;

        // Validation de la réponse
        if (data && data.url) {
            // Envoi de l'image avec le caption
            await conn.sendMessage(from, {
                image: { url: data.url },
                caption: "Here is your random waifu picture! 💖",
            }, { quoted: mek });
        } else {
            reply("Error: The API response is invalid. Could not fetch a waifu picture.");
        }
    } catch (e) {
        // Gestion détaillée des erreurs
        if (e.response) {
            // Erreur renvoyée par l'API (ex. : 404, 500)
            reply(`API Error: ${e.response.status} - ${e.response.data?.message || 'No message provided by the server'}`);
        } else if (e.request) {
            // Erreur réseau : pas de réponse du serveur
            reply(
                "Network Error: The API server is not responding. Possible reasons:\n" +
                "- The server may be down or temporarily unavailable.\n" +
                "- There may be an issue with your internet connection.\n\n" +
                "Please check your internet connection and try again later."
            );
        } else {
            // Autre erreur
            reply(`Unexpected Error: ${e.message}`);
        }
    }
});