iqoptionapi icon indicating copy to clipboard operation
iqoptionapi copied to clipboard

HOW I CAN CONNECT TWO ACCOUNTS AT THE SAME TIME ? HELP

Open pabloviniciusBR opened this issue 2 years ago • 16 comments

Hello friends, my name is vinicius and I'm from Brazil, I'm a beginner/intermediate in python, and I'm trying to connect two accounts in the API and then display the result of the bankroll value (practice), but after connecting to the first API the code displays only the value of a connected account. Can someone help me ?

from iqoptionapi.stable_api import IQ_Option

def conectar_com_a_iq():

API_1 = IQ_Option('first_acount_email','first_acount_password')

API_1.connect()

print(f'Value of the first user : {API_1.get_balance()}')



API_2 = IQ_Option('second_acount_email','second_acount_password')

API_2.connect()

print(f' Value of the second user : {API_2.get_balance()}')

conectar_com_a_iq()

pabloviniciusBR avatar Mar 15 '22 18:03 pabloviniciusBR

U have to have one API running normal and another one running in multiprocessing

TheHolsback avatar Mar 15 '22 18:03 TheHolsback

Sorry don't solve, the result is the same Resultado da banca do primeiro usuario = 9746.68 Resultado da banca do segundo usuario = 9746.68

pabloviniciusBR avatar Mar 15 '22 19:03 pabloviniciusBR

How is your code? Bc I use, like, 4 differents accounts using multiprocessing

TheHolsback avatar Mar 15 '22 19:03 TheHolsback

from iqoptionapi.stable_api import IQ_Option

def conectar_com_a_iq():

API = IQ_Option('[email protected]','example01')

API.connect()


API_2 = IQ_Option('[email protected]','example02')

API_2.connect()


print(API.get_balance())

print(API_2.get_balance())

# Make the same result i dont know why.

Account One Balance is 10036 Account Two Balance is 10000

But what is prints is: 10036 10036

pabloviniciusBR avatar Mar 15 '22 20:03 pabloviniciusBR

Tambem sou brasileiro, voce tem whatsapp irmao?

pabloviniciusBR avatar Mar 15 '22 20:03 pabloviniciusBR

Me chama aqui no pv

TheHolsback avatar Mar 15 '22 20:03 TheHolsback

Tentei com as threads que havia comentado, mas sem sucesso. Acho que o github nao possui a funçao de enviar mensagem, eu nao encontrei.

class ApiThread(threading.Thread): def init(self, id, email, password): threading.Thread.init(self)

    # Import the library as it will instantiate it, but this time per thread
    from iqoptionapi.stable_api import IQ_Option
    
    # Set parameters
    self.id = id
    self.api = IQ_Option(email, password)

def run(self):
    # Run
    self.api.connect()
    print(self.api.get_balance())

thread1 = ApiThread(1, "[email protected]", "example01") thread2 = ApiThread(2, "[email protected]", "example02")

thread1.start() thread2.start()

pabloviniciusBR avatar Mar 15 '22 21:03 pabloviniciusBR

Não pode usar thread, por que a thread continua usando os mesmos arquivos, já o multiprocessing "reseta" tudo.

TheHolsback avatar Mar 15 '22 21:03 TheHolsback

Muito obrigado por estar tentando me ajudar, voce poderia colar um codigo de exemplo aqui para que eu possa entender melhor ? Abri ate uma pergunta no Stackoverflow estao vindo as mais diversas soluçoes, mas nenhuma ate o momento funcionou. https://stackoverflow.com/questions/71488361/2-differeent-objectt-instance-printing-same-result-of-first-instance?noredirect=1#comment126354325_71488361

pabloviniciusBR avatar Mar 15 '22 21:03 pabloviniciusBR

wtf you're a fucking genius. :o

from iqoptionapi.stable_api import IQ_Option from multiprocessing import Process

def conectar_iq(email,senha):

API = IQ_Option(str(email),str(senha))

API.connect()

print(API.get_balance())

if name == 'main':

processar = Process(target=conectar_iq, args=('[email protected]','example01',))
process_two = Process(target=conectar_iq, args=('[email protected]','example02',))
processar.start()
process_two.start()

pabloviniciusBR avatar Mar 15 '22 21:03 pabloviniciusBR

Isso aí mano! Tava longe do PC pra mandar o cód, demorei mto pra chegar na solução de usar o MP

TheHolsback avatar Mar 15 '22 21:03 TheHolsback

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

pabloviniciusBR avatar Mar 15 '22 21:03 pabloviniciusBR

Depois se puder me chama no whatsapp : 11 910492733

pabloviniciusBR avatar Mar 15 '22 21:03 pabloviniciusBR

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

https://github.com/provezano/IQBBot

provezano avatar Apr 08 '22 01:04 provezano

Rapaz, eu estou a uns 3 meses tentando montar um robo para telegram usando a biblioteca do pytelegrambotapi muito tranquilo e facil de fazer, demorei umas 3 semanas programando umas 10 horas por dia (serio, ficava exausto parecendo um zumbi ), consegui fazer o bot certinho, so que eu nao contava com uma coisa kk, uma maldita coisa. Quando eu utilizava o robo sozinho, ocorria tudo certo, mas quando varios usuarios foram acessando o bot ao mesmo tempo o caos começou, se tinha uma variavel com nome = 'vinicius' e entrava outro usuario com o nome rafael a variavel ficava nome = 'rafael' basicamente sobreescrevia, fazia a operaçao de um na conta do outro e por ai vai. Me recomendaram utilizar orientaçao a objeto pra resolver o problema, mas oque resolveu foi criar um dict {} onde a chave era o id do usuario e onde os values sao as variaveis, correspondentes ao id do usuario. Continuo na saga ! kk um dia vou finalizar esse bot

Sugiro usar algo como https://pypi.org/project/pysha3/ para gerar IDs Únicos. Assim vc praticamente zera a chance de ter alguém com o mesmo id.

felipebhz avatar Apr 08 '22 12:04 felipebhz

I copied and pasted literally the source code of iqoption api, and import twice in the code with different name, like Iq1, Iq2, and works fine

emilioPonceAlvarado16 avatar Jul 01 '22 17:07 emilioPonceAlvarado16