Skip to content

Async remote auth client for discord (Login with qr code)

License

Notifications You must be signed in to change notification settings

RuslanUC/RemoteAuthClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RemoteAuthClient

Due to lack of time, I unfortunately cannot maintain RemoteAuthClient (including the captcha solving). For now, I will not archive the repository, so if a fix to the captcha problem appears, you can create a pull request.

Installing

Python 3.7 or higher is required

pip install remoteauthclient

Example

from asyncio import run
from remoteauthclient import RemoteAuthClient

c = RemoteAuthClient()

@c.event("on_fingerprint")
async def on_fingerprint(data):
    print(f"Fingerprint: {data}")
    print(f"QrCode url: https://api.qrserver.com/v1/create-qr-code/?size=256x256&data={data}")

@c.event("on_userdata")
async def on_userdata(user):
    print(f"ID: {user.id}")
    print(f"Username: {user.username}")
    print(f"Discriminator: {user.discriminator}")
    print(f"Avatar hash: {user.avatar}")
    print(f"Name: {user.getName()}")
    print(f"Avatar URL: {user.getAvatarURL()}")

@c.event("on_token")
async def on_token(token):
    print(f"Token: {token}")

@c.event("on_cancel")
async def on_cancel():
    print(f"Auth canceled!")

@c.event("on_timeout")
async def on_timeout():
    print(f"Timeout")

@c.event("on_captcha")
async def on_captcha(captcha_data):
    # captcha_data contains captcha_sitekey, captcha_service (hcaptcha), captcha_rqdata and captcha_rqtoken
    print(f"Captcha!")
    captcha_key = ... # Solve captcha and get captcha_key, you must provide captcha_sitekey and captcha_rqdata to solving service
    return captcha_key

@c.event("on_error")
async def on_error(exc, client):
    print(f"Error: {exc.__class__.__name__}")
    if client.retries == 1:
        await client.run_task()

run(c.run())

Proxy example

from remoteauthclient import RemoteAuthClient

c = RemoteAuthClient(proxy="127.0.0.1:8080")
# Or with auth
c = RemoteAuthClient(proxy="127.0.0.1:8080", proxy_auth={"login": "user", "password": "password"})

...