[EDIT]
After running 2to3 this helped to get it running for me. Not ideal but seems to have worked.
[EDIT2] NO SUPPORT WILL BE PROVIDED !!189,193c189,193
< if py_ver < (2,7,9) or py_ver > (3,):
< print(('Python version: ' + sys.version))
< print(('[ERROR] This script requires python 2.7.9+, and does not work for ' +
< 'python 3, stopping'))
< sys.exit(1)
---
> #if py_ver < (2,7,9) or py_ver > (3,):
> # print(('Python version: ' + sys.version))
> # print(('[ERROR] This script requires python 2.7.9+, and does not work for ' +
> # 'python 3, stopping'))
> # sys.exit(1)
351,352c351,352
< base_64_string = base64.encodestring('%s:%s' % (USERNAME,
< PASSWORD)).replace('\n','')
---
> base_64_string = base64.encodestring(('%s:%s' % (USERNAME,
> PASSWORD)).encode()).decode().strip()
587c587
< server_reply = t[:3] # only first 3 chars are relevant
---
> server_reply = t[:3].decode("utf-8") # only first 3 chars are relevant
614c614
< sock.send(text)
---
> sock.send(text.encode())
637c637
< sock.send(text)
---
> sock.send(text.encode())
645c645
< sock.send(text)
---
> sock.send(text.encode())
661,662c661,662
< sock.send(text)
< elif server_reply[:2] in ('48', '50'):
---
> sock.send(text.encode())
> elif str(server_reply[:2]) in ('48', '50'):
693c693
< sock.send(text)
---
> sock.send(text.encode())
696c696
< sock.send(text)
---
> sock.send(text.encode())
705c705,706
< str(traceback.tb_lineno(sys.exc_info()[2])) + ': ' +
---
> traceback.format_exc() + ': ' +
> #str(traceback.tb_lineno(sys.exc_info()[2])) + ': ' +
1032c1033,1034
< str(traceback.tb_lineno(sys.exc_info()[2])) + ': ' +
---
> traceback.format_exc() + ': ' +
> #str(traceback.tb_lineno(sys.exc_info()[2])) + ': ' +