notmebotz-tools
Version:
Sebuah Tools yang berfungsi untuk mendownload Video atau Foto dari media sosial, serta sebagai tools yang berguna untuk aplikasi kamu seperti untuk BOT
272 lines (241 loc) • 6.49 kB
JavaScript
//NB SCRIPT CODE
const axios = require('axios');
const tempail = {
api: {
base: 'https://tempail.top/api',
endpoints: {
createEmail: '/email/create/ApiTempail',
getMessages: (emailToken) => `/messages/${emailToken}/ApiTempail`,
getMessage: (messageId) => `/message/${messageId}/ApiTempail`
}
},
headers: {
'user-agent': 'Postify/1.0.0'
},
deletedInTimestamp: null,
createEmail: async () => {
try {
const response = await axios.post(
`${tempail.api.base}${tempail.api.endpoints.createEmail}`,
null,
{ headers: tempail.headers }
);
if (response.data.status !== 'success') {
return {
success: false,
code: 500,
result: { error: 'Gagal bikin email temp nya bree..' }
};
}
const {
email,
email_token: emailToken,
deleted_in: deletedIn
} = response.data.data;
tempail.deletedInTimestamp = new Date(deletedIn).getTime();
return {
success: true,
code: 200,
email,
emailToken,
deletedIn
};
} catch (err) {
return {
success: false,
code: err.response?.status || 500,
result: { error: err.message }
};
}
},
_isTempMailDeleted: () => {
if (!tempail.deletedInTimestamp) return false;
return Date.now() > tempail.deletedInTimestamp;
},
getMessages: async (emailToken) => {
if (!emailToken || typeof emailToken !== 'string' || !emailToken.trim()) {
return {
success: false,
code: 400,
result: { error: 'Email token kagak boleh kosong yak bree, harus diisi.. 🗿' }
};
}
if (tempail._isTempMailDeleted()) {
return {
success: false,
code: 410,
result: { error: 'Email Tempnya udah expired bree..' }
};
}
try {
const url = tempail.api.endpoints.getMessages(emailToken);
const response = await axios.get(
`${tempail.api.base}${url}`,
{ headers: tempail.headers }
);
if (response.data.status !== 'success') {
return {
success: false,
code: 500,
result: { error: 'Kagak bisa ngambil semua list pesan di Temp Mailnya bree... 🤣' }
};
}
const { mailbox, messages } = response.data.data;
return {
success: true,
code: 200,
mailbox,
messages
};
} catch (err) {
return {
success: false,
code: err.response?.status || 500,
result: { error: err.message }
};
}
},
getMessage: async (messageId) => {
if (!messageId || typeof messageId !== 'string' || !messageId.trim()) {
return {
success: false,
code: 400,
result: { error: 'Message ID nya harus diisi bree, kagak kosong yak.. 🗿' }
};
}
if (tempail._isTempMailDeleted()) {
return {
success: false,
code: 410,
result: { error: 'Email Tempnya udah expired bree..' }
};
}
try {
const url = tempail.api.endpoints.getMessage(messageId);
const response = await axios.get(
`${tempail.api.base}${url}`,
{ headers: tempail.headers }
);
if (response.data.status !== 'success') {
return {
success: false,
code: 500,
result: { error: 'Kagak bisa ambil pesannya bree 😂' }
};
}
const [message] = response.data.data;
return {
success: true,
code: 200,
message: {
subject: message.subject,
isSeen: message.is_seen,
from: message.from,
fromEmail: message.from_email,
receivedAt: message.receivedAt,
id: message.id,
attachments: message.attachments,
content: message.content
}
};
} catch (err) {
return {
success: false,
code: err.response?.status || 500,
result: { error: err.message }
};
}
}
};
const tempmail = async (type, token) => {
if (!type || typeof type !== 'string') {
return {
author: 'Herza',
status: 400,
data: { error: 'Parameter type harus diisi dan berupa string' }
};
}
switch (type.toLowerCase()) {
case 'create':
case 'createemail':
case 'new':
const createResult = await tempail.createEmail();
if (createResult.success) {
return {
author: 'Herza',
status: 200,
data: {
email: createResult.email,
emailToken: createResult.emailToken,
deletedIn: createResult.deletedIn
}
};
} else {
return {
author: 'Herza',
status: createResult.code,
data: createResult.result
};
}
case 'getmessages':
case 'getmsg':
case 'messages':
if (!token || typeof token !== 'string' || !token.trim()) {
return {
author: 'Herza',
status: 400,
data: { error: 'Email token diperlukan untuk getMessages' }
};
}
const messagesResult = await tempail.getMessages(token);
if (messagesResult.success) {
return {
author: 'Herza',
status: 200,
data: {
mailbox: messagesResult.mailbox,
messages: messagesResult.messages
}
};
} else {
return {
author: 'Herza',
status: messagesResult.code,
data: messagesResult.result
};
}
case 'getmessage':
case 'message':
case 'msg':
if (!token || typeof token !== 'string' || !token.trim()) {
return {
author: 'Herza',
status: 400,
data: { error: 'Message ID diperlukan untuk getMessage' }
};
}
const messageResult = await tempail.getMessage(token);
if (messageResult.success) {
return {
author: 'Herza',
status: 200,
data: messageResult.message
};
} else {
return {
author: 'Herza',
status: messageResult.code,
data: messageResult.result
};
}
default:
return {
author: 'Herza',
status: 400,
data: {
error: 'Type tidak valid. Gunakan: "create", "getmsg", atau "message"'
}
};
}
};
module.exports = { tempmail };