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);