2020-12-11 15:30:48 -05:00
'use strict'
const mc = require ( 'minecraft-protocol' )
2021-11-11 20:08:18 -05:00
const [ , , host , port , userOrEmail , password ] = process . argv
if ( ! userOrEmail ) {
console . log ( 'Usage : node client_microsoft_auth.js <host> <port> <username/email> [<password>]' )
2020-12-11 15:30:48 -05:00
process . exit ( 1 )
}
const client = mc . createClient ( {
2021-11-11 20:08:18 -05:00
host ,
port : parseInt ( port ) ,
username : userOrEmail , // your microsoft account email
2022-11-11 17:24:15 -05:00
password , // your microsoft account password
2020-12-11 15:30:48 -05:00
auth : 'microsoft' // This option must be present and set to 'microsoft' to use Microsoft Account Authentication. Failure to do so will result in yggdrasil throwing invalid account information.
} )
client . on ( 'connect' , function ( ) {
console . info ( 'connected' )
} )
client . on ( 'disconnect' , function ( packet ) {
console . log ( 'disconnected: ' + packet . reason )
} )
client . on ( 'chat' , function ( packet ) {
const jsonMsg = JSON . parse ( packet . message )
if ( jsonMsg . translate === 'chat.type.announcement' || jsonMsg . translate === 'chat.type.text' ) {
const username = jsonMsg . with [ 0 ] . text
const msg = jsonMsg . with [ 1 ]
if ( username === client . username ) return
client . write ( 'chat' , { message : msg } )
}
} )