Skip to content

fazalfarhan01/pyHoneygain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HoneyGain API

A Python binding to interact with HoneyGain Dashboard API.

Installation

pip install pyHoneygain

Usage


Login with username and password:

from pyHoneygain import HoneyGain

# Your HoneyGain (HG) login username and password
USERNAME = ""
PASSWORD = ""

# Initialise the HoneyGain object
user = HoneyGain()

# Optionally, when instantiating you can pass in the following attributes to the HoneyGain class:
Attribute Description Default Value
API_PREFIX_URL The API Prefix URL /api
API_VERSION The API Version /v1
API_DOMAIN The API Domain https://dashboard.honeygain.com
# Call the login method
user.login(USERNAME, PASSWORD)

Create a new Honeygain account:

from pyHoneygain import HoneyGain

# Your HoneyGain (HG) login username and password
EMAIL = ""
PASSWORD = ""

# Initialise the HoneyGain object
user = HoneyGain()

# Call the signup method
user.signup(EMAIL, PASSWORD)

Optionally you can also set the referral code

REFERRAL = "REFERRAL CODE"
user.signup(EMAIL, PASSWORD, REFERRAL)

Login with access token (JWT token):

from pyHoneygain import HoneyGain

# Your HG's JWT Token
JWT_TOKEN = "eyeiufhuegjdvniu85yhjdfseu487y5urhjdfkseiwu89347yrjfdskiu8y4rjk"

# Initialise the HoneyGain object
user = HoneyGain()

# Call the login method
user.set_jwt_token(JWT_TOKEN)

Add proxies for future requests:

from pyHoneygain import HoneyGain

# With authentication
user.set_proxy("ip:port:username:password")

# Without authentication
user.set_proxy("ip:port")

Functions


  1. Get user info

    user.me()

  1. Get devices info

    user.devices()
Note: The /v1 and /v2 endpoint return different information as of 16th Feb 2022.

  1. Get stats

    # Returns 30 days stats (earnings/credits info).
    user.stats()

  1. Get JumpTask (JT) stats

    # Returns 30 days JT stats (earnings/credits info).
    user.stats()

  1. Get today's stats

    # Returns today's earnings/credits info..
    user.stats_today()

  1. Get today's JT stats

    # Returns today's JT earnings/credits info..
    user.stats_today_jt()

  1. Get notifications

    # Returns notifications (if any)
    user.notifications()

  1. Get payouts

    # Returns pending payouts as per shown as dashboard
    user.payouts()

  1. Request payout for BTC

    # Requests payout, method as BTC to a BTC wallet address.
    BTC_ADDRESS = "bc1qr7twnwulkhd6gqwmkesvj5825kyz9mggy3mvcz"
    
    try:
        user.payout_to_btc(BTC_ADDRESS)
    except UserConfirmationRequiredError:
        # Sometimes HG will ask for user confirmation before accepting the payout request. 
        # So check your email and use the `add_user_confirmation` method on the user object to authenticate the user. 
        # Then you can call the payout_to_btc method again. 
        code = input("Enter the code: ")
    
        if user.add_user_confirmation(code):
            result = user.payout_to_btc(BTC_WALLET_ADDRESS)
    
            print("Withdrawal successful:", result)

  1. Add user verification code

    # Adds a user verification code as per the email
    code = input("Enter the verification code: ")
    
    user.add_user_confirmation(code) # Returns a boolean

  1. Remove a proxy

    # Removes a proxy for future requests.
    user.remove_proxy()

  1. Change password

    # Changes the password for the logged in user.
    user.change_password("oldpassword", "newpassword")

  1. Get balances

    # Gets balances info
    user.balances()

  1. Open Honeypot

    # Attempts to open Honeypot
    user.open_honeypot()

  1. Link BSC Wallet

    wallet_address = "0x00000000000000000000"
    user.link_bsc_wallet(wallet_address)

Exceptions

  • The following exceptions are defined.

    Exception Reason
    NotLoggedInError Raised when you try to access protected routes (devices, payouts, etc).
    UserConfirmationRequiredError Raised when you call an endpoint which requires user authentication.
  • Note on UserConfirmationRequiredError: In case you get an error, you should check your email, add a user confirmation by using the add_user_confirmation method and then try to use the original method again.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Shell 0.5%