2023-01-18 00:56:25 +05:00
const { SlashCommandBuilder , EmbedBuilder } = require ( "discord.js" ) ;
const BaseCommand = require ( "../../base/BaseCommand" ) ,
fetch = require ( "node-fetch" ) ,
moment = require ( "moment" ) ;
class Checkjar extends BaseCommand {
/ * *
*
* @ param { import ( "../base/JaBa" ) } client
* /
constructor ( client ) {
super ( {
command : new SlashCommandBuilder ( )
. setName ( "checkjar" )
. setDescription ( client . translate ( "iat/checkjar:DESCRIPTION" ) )
. setDMPermission ( false ) ,
aliases : [ ] ,
dirname : _ _dirname ,
ownerOnly : false ,
} ) ;
}
/ * *
*
* @ param { import ( "../../base/JaBa" ) } client
* /
async onLoad ( ) {
//...
}
/ * *
*
* @ param { import ( "../../base/JaBa" ) } client
* @ param { import ( "discord.js" ) . ChatInputCommandInteraction } interaction
* @ param { Object } data
* /
async execute ( client , interaction ) {
if ( ! interaction . member . roles . cache . has ( "1039467712633638962" ) ) return interaction . reply ( { content : "error" , ephemeral : true } ) ;
await interaction . deferReply ( ) ;
const jar = "x3VtgmqMXYJ6k-vqdlhmGCejFH9Ej3Y" ;
const data = await fetch ( ` https://api.monobank.ua/personal/statement/ ${ jar } / ${ Date . now ( ) - ( 7 * 24 * 60 * 60 * 1000 ) } / ${ Date . now ( ) } ` , {
method : "GET" ,
headers : {
"X-Token" : "ugBCz115wxv4VPdtfIlkZtb1lvV2FglPrppAaphVpKwU" ,
} ,
} ) . then ( res => res . json ( ) ) ;
const embed = new EmbedBuilder ( )
. setColor ( client . config . embed . color )
. setFooter ( {
text : client . config . embed . footer ,
} )
. setAuthor ( {
name : "Monobank API" ,
iconURL : "https://api.monobank.ua/docs/logo.png" ,
} )
2023-01-24 18:40:30 +05:00
. setDescription ( ` Текущий баланс: ** ${ data [ 0 ] . balance / Math . pow ( 10 , 2 ) } ** грн \n Требуется на след. месяц: **654,46** грн (по курсу евро на 24.01.2023, 16.30 €) ` ) ;
2023-01-18 00:56:25 +05:00
data . length = 10 ;
data . forEach ( t => {
const time = moment . unix ( t . time ) ;
embed . addFields ( [
{
name : ` ${ t . description } ` ,
value : ` Дата: ${ time . locale ( "uk-UA" ) . format ( "DD MMMM YYYY, HH:mm" ) } \n Сумма: ${ t . amount / Math . pow ( 10 , 2 ) } грн ` ,
inline : true ,
} ,
] ) ;
} ) ;
interaction . editReply ( {
embeds : [ embed ] ,
} ) ;
}
}
module . exports = Checkjar ;