Files
BorisBot/Gulag/index.js
2024-01-15 09:30:27 +00:00

114 lines
2.3 KiB
JavaScript

const Discord = require('discord.js');
const client = new Discord.Client();
const PREFIX = 'CM';
var version = '1.0.1';
const moment = require('moment');
const util = require('util');
const fs = require('fs');
const sha512 = require('crypto-js/sha512');
const Player = require('./src/player.js');
const Subscriptions = require('./src/subscriptions.js');
const { Servers } = require('alta-jsapi');
const { WebsocketBot } = require('att-bot-core');
const { BasicWrapper } = require('att-websockets');
const { username, password, botToken } = require("./credentials");
var targetServers = [179294432];
client.on('ready', () =>{
console.log('\x1b[36m%s\x1b[0m', 'Discord ON');
})
main();
async function main()
{
console.log(ts() + "bot is starting");
//Discord part
var mpassword = convertPassToHash( username, password, botToken );
//Discord command and message management (todo: move to own lib)
client.on('message', message =>
{
});
//ATT Part
const bot = new WebsocketBot();
await bot.loginWithHash(username, mpassword);
await bot.run(test => targetServers.includes(test.id), async (server, connection) =>
{
});
}
function convertPassToHash( username, password, botToken )
{
// The SHA512 hash generated by crypto-js/sha512 will be 128 characters
if ( password.length !== 128 )
{
console.log( "Plaintext password encountered, converting to SHA512 hash for permanent storage" );
newPass = sha512( password ).toString();
newFile = { "username" : username, "password" : newPass, "botToken": botToken };
fs.writeFile('./credentials.json', JSON.stringify( newFile, null, 4 ), function( err ) {
if ( err )
{
console.log( err );
} else {
console.log( "New credentials.json saved" );
}
});
password = newPass;
}
return password;
}
function ts()
{
return "["+ moment().format("h:mm:ss A") +"] "
}
function insertHandler( err, doc )
{
if ( err ) { console.log( err ); }
}
function updateHandler( err, rows )
{
if ( err ) { console.log( err ); }
}
function strrep( str, n )
{
if ( n < 1 ) return '';
var result = str;
while( n-- > 0 )
{
result += str;
}
return result;
}
client.login(botToken);