Advertisement
samiroexpikachu

Measure

Feb 9th, 2024 (edited)
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. const axios = require("axios");
  2.  
  3. module.exports = {
  4. config: {
  5. name: "measure",
  6. version: "1.0",
  7. author: "Samir Œ",
  8. shortDescription: "Get image measurements",
  9. longDescription: "Get measurements of an image using the provided API",
  10. category: "utility",
  11. guide: "{prefix}measurements"
  12. },
  13.  
  14. onStart: async function ({ api, event, args }) {
  15. if (!event.messageReply || !event.messageReply.attachments || event.messageReply.attachments.length === 0) {
  16. api.sendMessage("Please reply to a message with an image attachment.", event.threadID, event.messageID);
  17. return;
  18. }
  19.  
  20. const imageUrl = event.messageReply.attachments[0].url;
  21.  
  22. try {
  23. const response = await axios.post("https://www.samirxpikachu.run.place/measure", {
  24. imageUrl: imageUrl
  25. });
  26.  
  27. const measurements = response.data;
  28.  
  29. const replyMessage = `
  30. 𝚒𝚖𝚊𝚐𝚎 𝚖𝚎𝚊𝚜𝚞𝚛𝚎𝚖𝚎𝚗𝚝𝚜:
  31. - 𝙵𝚘𝚛𝚖𝚊𝚝: [ ${measurements.format} ]
  32. - 𝚆𝚒𝚍𝚝𝚑: [ ${measurements.width} ]
  33. - 𝙷𝚎𝚒𝚐𝚑𝚝: [ ${measurements.height} ]
  34. - 𝙲𝚑𝚊𝚗𝚗𝚎𝚕𝚜: [ ${measurements.channels} ]
  35. - 𝚂𝚒𝚣𝚎: [ ${measurements.size} 𝚋𝚢𝚝𝚎𝚜 ]
  36. - 𝙳𝚎𝚗𝚜𝚒𝚝𝚢: [ ${measurements.density} ]
  37. - 𝙲𝚘𝚕𝚘𝚛 𝚂𝚙𝚊𝚌𝚎: [ ${measurements.space} ]
  38. - 𝙰𝚕𝚙𝚑𝚊𝙲𝚑𝚊𝚗𝚗𝚎𝚕: [ ${measurements.hasAlpha ? "𝚈𝚎𝚜" : "𝙽𝚘"} ]
  39. `;
  40.  
  41.  
  42. const imageStream = await global.utils.getStreamFromURL(imageUrl);
  43. api.sendMessage({
  44. body: replyMessage,
  45. attachment: imageStream
  46. }, event.threadID, event.messageID);
  47. } catch (error) {
  48. console.error(error);
  49. api.sendMessage("An error occurred while fetching image measurements.", event.threadID, event.messageID);
  50. }
  51. }
  52. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement