Im using phbot, i often enter captchar manual. Who can creat a tool, when run phbot, it tool will using sbot free for input captcha auto?
In Vietnam have one person creat it tool, but it paid and have more feature i dont need.
Thanks all.
Demo not show sbot, but i know it using sbot to do this.

I see on sbot folder have 1 file plugin for phbot
How it call sbot and receipt captcha from sbot to phbot.
PHP Code:
from phBot import *
import urllib.request
import struct
import json
from threading import Timer
pName = 'AutoCaptcha'
pVersion = '1.1.1'
# ______________________________ Initializing ______________________________ #
CAPTCHA_SERVER = "http://127.0.0.1:15999"
CAPTCHA_REQUEST_TIMEOUT = 15 # seconds
CAPTCHA_LIMIT_REACHED = False
# ______________________________ Methods ______________________________ #
# Solve captcha data and return the answer
def SolveCaptcha(url,data):
# Try to send packet
try:
# Prepare json data to be send through POST method
params = json.dumps({"data":''.join('{:02X}'.format(d) for d in data)}).encode()
# Send request and wait maximum 5 seconds
if not url.endswith("/"):
url += "/"
req = urllib.request.Request(url+"CaptchaAPI",data=params,headers={'content-type': 'application/json'})
with urllib.request.urlopen(req,timeout=CAPTCHA_REQUEST_TIMEOUT) as f:
try:
resp = json.loads(f.read().decode())
if resp:
if resp['success']:
return resp['captcha']
else:
log("Plugin: Error solving captcha ["+resp['message']+"]")
except Exception as ex2:
log("Plugin: Error reading response from server ["+str(ex2)+"]")
except Exception as ex:
log("Plugin: Url error ["+str(ex)+"]")
return None
# ______________________________ Events ______________________________ #
# Called when the bot successfully connects to the game server
def connected():
global CAPTCHA_LIMIT_REACHED
CAPTCHA_LIMIT_REACHED = False
# All packets received from game server will be passed to this function
# Returning True will keep the packet and False will not forward it to the game client
def handle_joymax(opcode, data):
global CAPTCHA_LIMIT_REACHED
# SERVER_CAPTCHA_SOLVE_RESPONSE
if opcode == 0xA323:
# Check if errors on attempt
if data[0] == 2:
attemptsMax = struct.unpack_from('<I',data,1)[0]
attemptsCount = struct.unpack_from('<I',data,5)[0]
# Check if limit has been reached
if (attemptsCount+1) == attemptsMax:
CAPTCHA_LIMIT_REACHED = True
# SERVER_CAPTCHA_DATA
if opcode == 0x2322:
if CAPTCHA_LIMIT_REACHED:
log('Plugin: Captcha cannot be automatically solved for your own security!')
else:
log("Plugin: Solving captcha through ["+CAPTCHA_SERVER+"]")
# Solving captcha with global values
def ThreadSolvingCaptcha():
response = SolveCaptcha(CAPTCHA_SERVER,data)
if response:
log("Plugin: Captcha solved ["+response+"]...")
# Create packet solving it
p = struct.pack('H', len(response))
p += response.encode('ascii')
inject_joymax(0x6323,p,False)
# Run new thread to avoid locking the bot
Timer(0.001,ThreadSolvingCaptcha).start()
return True
# Plugin loading ...
log('Plugin: '+pName+' v'+pVersion+' successfully loaded')






