114 lines
2.3 KiB
JavaScript
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); |