Path: blob/master/ invest-robot-contest_tinkoff-trading-bot-develop/tools/get_accounts.py
5929 views
from grpc import StatusCode1from pydantic import BaseSettings2from tinkoff.invest import Client, RequestError, AccountType345class Settings(BaseSettings):6token: str78class Config:9env_file = ".env"101112settings = Settings()131415def get_sandbox_accounts():16with Client(settings.token) as client:17sb_accounts = client.sandbox.get_sandbox_accounts().accounts18if len(sb_accounts) == 0:19client.sandbox.open_sandbox_account()20return client.sandbox.get_sandbox_accounts().accounts212223def get_accounts():24with Client(settings.token) as client:25try:26return client.users.get_accounts().accounts27except RequestError as e:28if e.code == StatusCode.UNAUTHENTICATED:29return get_sandbox_accounts()303132if __name__ == "__main__":33accounts = get_accounts()34for account in accounts:35print(f"id: {account.id}, name: {account.name}, type: {str(AccountType(account.type))}")363738