newerton / bombcrypto-bot

This is a Python bot, which automates login, sends heroes to work, sends heroes home by rarity. Open source bot and totally free.
https://bombcrypto.io/
68 stars 40 forks source link

Multi Account (Ambiente Linux cloud) OverflowError: can't convert negative value to unsigned int #201

Closed Bizukw closed 2 years ago

Bizukw commented 2 years ago

Oi Newerton, tudo bem?

Estou com o erro abaixo, para multi account na máquina virtual linux Ubuntu, cloud da Oracle. Config 24gbs de Ram, processador de 4 núcleos.

Neste ambiente fica redimensionando até não conseguir mais.

Seria possível por favor ter uma opção a mais de alt tab como no projeto: https://github.com/renatofmmaia/bomb-bot Nesse formato de trocar de janelas não da erro no ambiente Linux.

2022-06-12 01:11:32 - Browser Active: Bombcrypto - Mozilla Firefox
Traceback (most recent call last):
  File "index.py", line 51, in <module>
    main()
  File "index.py", line 37, in main
    multi_account.start()
  File "/home/ubuntu/bombcrypto-bot-main/src/multi_account.py", line 58, in start
    self.botMultiAccount()
  File "/home/ubuntu/bombcrypto-bot-main/src/multi_account.py", line 113, in botMultiAccount
    self.activeWindow(last, window)
  File "/home/ubuntu/bombcrypto-bot-main/src/multi_account.py", line 205, in activeWindow
    window.resizeTo(windowWidth, windowHeight)
  File "/home/ubuntu/bombcrypto-bot-main/src/external/pygetwindow/_pygetwindow_linux.py", line 273, in resizeTo
    EWMH.setMoveResizeWindow(self._hWnd, x=self.left, y=self.top, w=newWidth, h=newHeight)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/ewmh/ewmh.py", line 218, in setMoveResizeWindow
    self._setProperty('_NET_MOVERESIZE_WINDOW',
  File "/home/ubuntu/.local/lib/python3.8/site-packages/ewmh/ewmh.py", line 422, in _setProperty
    ev = protocol.event.ClientMessage(
  File "/home/ubuntu/.local/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1422, in __init__
    self._binary = self._fields.to_binary(**keys)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 1021, in to_binary
    v, l, fm = f.pack_value(field_args[f.name])
  File "/home/ubuntu/.local/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 716, in pack_value
    data, dlen, fmt = PropertyData.pack_value(self, value)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/Xlib/protocol/rq.py", line 696, in pack_value
    a = array(array_unsigned_codes[size], val)
OverflowError: can't convert negative value to unsigned int

Screenshot from 2022-06-12 01-41-01

newerton commented 2 years ago

@Bizukw Você usa o navegador pela metade. igua está no print, ou só abaixo o navegador para printar o erro?

Faz um teste, deixa os dois navegadores maximizado, e inicia o bot.

E teste com a opção window_fullscreen como true.

Bizukw commented 2 years ago

@newerton,

Eu havia testado nas opções de tamanho de navegador rest. tamanho e na maximizado ele estava no topo com tamanho o suficiente para exibir a tela completa do bomb.

O bot ao utilizar estas mesmas opções ( rest. tamanho e maximizar) foi abaixando ele até chegar neste ponto e depois gerou o erro. Ele não conseguiu maximizar novamente.

Coloquei como orientado opção window_fullscreen como true. Não deu erro 😁

Obrigada pela orientação, vou acompanhar aqui.

newerton commented 2 years ago

@Bizukw Depois faz outro teste.

Coloca 2 navegador lado a lado, cada um usando 50% da tela na vertical, vou te mandar um print como exemplo. Depois de colocar o navegador lado a lado, inicia o bot no terminal, e depois minimiza o terminal, e deixa somente esses 2 navegadores aberto.

Mas para isso funcionar você precisa colocar o window_fullscreen para false.

Exemplo 01: image

Exemplo 02: image

Bizukw commented 2 years ago

@newerton,

Fiz o teste, deu o mesmo erro novamente.

Começou assim: Screenshot from 2022-06-12 03-25-44

Finalizou dessa forma: Screenshot from 2022-06-12 03-50-03

newerton commented 2 years ago

@Bizukw Obrigado, eu acho que sei onde está o problema. Vou testar no linux aqui novamente, está ocorrendo que a função de resizeTo(), não está retornando o navegador na posição original.

Volta o window_fullscreen para true, até eu lançar uma correção.

Bizukw commented 2 years ago

@Bizukw Obrigado, eu acho que sei onde está o problema. Vou testar no linux aqui novamente, está ocorrendo que a função de resizeTo(), não está retornando o navegador na posição original.

Volta o window_fullscreen para true, até eu lançar uma correção.

Opa eu que agradeço! Assim que estiver disponível eu testarei novamente ☺️

rafaelqw commented 2 years ago

@Bizukw eu também utilizo essa VPS... Você possui a casa? Se possui, o seu BOT está enviando os hero para ela?

newerton commented 2 years ago

@rafaelqw Recursos: https://github.com/newerton/bombcrypto-bot/blob/main/docs/README_pt-br.md#about