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

[Sugestões] algumas sugestões para uma próxima att #66

Open kerferber opened 2 years ago

kerferber commented 2 years ago

Algumas sugestões para uma próxima atualização:

1 - Alterar o formato da data no data.py pra dd/mm/aaaa, em vez de aaaa-mm-dd. Não sei se o formato internacional é intencional, mas aqui no meu eu alterei, acho mais fácil a visualização no formato BR. Ou, de repente daria pra configurar o formato de acordo com o idioma de preferência através do config.yaml (se PTBR dd/mm/aaaa, nas demais aaaa-mm-aa)....

2 - Gravar o saldo no CSV com as duas casas decimais, da mesma forma que é enviado via telegram após o new map

3 - Quando solicita o saldo via telegram ele devolve apenas em formato printscreen, seria interessante enviar também em formato texto, da mesma forma que acontece quando inicia um novo mapa. Eu não sei se você tem um motivo pra isso, mas se sim, poderia me auxiliar a efetuar esta alteração? Eu gostaria de receber o saldo somente em formato texto, sem a imagem. É simples de se fazer?

4 - Esta próxima sugestão é bastante complexa, eu sei, nem sei se é viável. Mas seriauma forma de identificar/diferenciar as contas pra quem usa multiaccount... (pra conseguir usar as funções do telegram) A única maneira que me vem a cabeça seria pegando o nome de perfil/usuário no firefox. Aqui uso about:profiles pra verificar no navegador os perfis. Aqui, por exemplo, eu uso cada conta em um perfil, um se chama 'conta principal' e o outro 'conta secundária'. Se fosse possível identificar o número de janelas, e delas obter o nome do perfil (ou nome do usuário), acho que seria interessante... Talvez dê pra fazer o mesmo em outros navegadores. Mas enfim, é só uma idéia, não sei se é viável e sei que seria complicado...

SE funcionar esta maneira de identificar/diferenciar as contas, acho que seria interessante também adicionar uma coluna no CSV com o nome do perfil.

Enfim, são apenas sugestões, por favor, não veja como cobranças.. Ate porque o bot já está excelente como está! Obrigado amigo

newerton commented 2 years ago

@kerferber Tranquilo? Vou responder cada item.

  1. Foi feito desta forma, por que é uma data no formato universal, se futurametne eu fizer um site que aceita upload desses relatório, para retornar uma média diária, semanal ou mensal, fica mais fácil e rápido armazenar essa informações no banco.

  2. O saldo já está sendo salvo com virgulas, que é o formato que o Excel identifica como "moeda", se ele está enviando com virgula para o Telegram, é esse o mesmo formato que é salvo no CSV.

  3. Você consegue fazer essa alteração no arquivo coins.py, mas recomendo deixar enviiando a imagem, para você ter uma dupla validação da informação, pode ocorrer que no momento do bot tirar o print do seu bcoin, ele não reconhecer o 8(oito) e informar que é 0(zero).

  4. Já pensei em N possibilidades de pegar o nome da janela, nome do usuário conectado, pegar o endereço da carteira, mas esse tipo de processo seria muito custoso para o bot, talvez demoraria uns 2~3 minutos somente esse processo que o bot faz, pensei até em colocar um alerta, para informar se o bot poderia buscar o endereço da metamask para adicionar ao CSV, mas ai o bot poderia ser tachado como scam, se caso algum usuário perde-se seus bcoins usando o bot. Então eu evitei esse tipo de implementação, até que eu consiga buscar uma informação rapida do browser, sem afetar a privacidade do usuário.

Qualquer melhoria/dúvida/reclamação dos itens acima, vai postando aqui, vamos trocar essas idéias.

kerferber commented 2 years ago

@kerferber Tranquilo? Vou responder cada item.

  1. Foi feito desta forma, por que é uma data no formato universal, se futurametne eu fizer um site que aceita upload desses relatório, para retornar uma média diária, semanal ou mensal, fica mais fácil e rápido armazenar essa informações no banco.
  2. O saldo já está sendo salvo com virgulas, que é o formato que o Excel identifica como "moeda", se ele está enviando com virgula para o Telegram, é esse o mesmo formato que é salvo no CSV.
  3. Você consegue fazer essa alteração no arquivo coins.py, mas recomendo deixar enviiando a imagem, para você ter uma dupla validação da informação, pode ocorrer que no momento do bot tirar o print do seu bcoin, ele não reconhecer o 8(oito) e informar que é 0(zero).
  4. Já pensei em N possibilidades de pegar o nome da janela, nome do usuário conectado, pegar o endereço da carteira, mas esse tipo de processo seria muito custoso para o bot, talvez demoraria uns 2~3 minutos somente esse processo que o bot faz, pensei até em colocar um alerta, para informar se o bot poderia buscar o endereço da metamask para adicionar ao CSV, mas ai o bot poderia ser tachado como scam, se caso algum usuário perde-se seus bcoins usando o bot. Então eu evitei esse tipo de implementação, até que eu consiga buscar uma informação rapida do browser, sem afetar a privacidade do usuário.

Qualquer melhoria/dúvida/reclamação dos itens acima, vai postando aqui, vamos trocar essas idéias.

Obrigado pela resposta @newerton

Eu tive uma ideia pra diferenciar as contas. é como eu particularmente faço pra saber em que conta estou logado, mas não sei se funcionaria pra todo mundo, de qualquer forma, vou deixar minha idéia..

Eu tenho duas contas, chamo-as de conta principal e conta secundária.

Na conta principal eu tenho mais Bcoins na metamask, na conta secundária tenho menos.

De repente o bot poderia ler o saldo que aparece na janela principal do bomb (na barra superior, ao lado do baú e do botão de configurações), e assim diferenciar as contas por número de BCoins.

Conta 1 maior número de BCoins Conta 2 segundo maior númeo de BCoins Conta 3 Terceiro maior número de BCoins, e assim vai.

Dependeria de o usuário deixar em carteira sempre o número equivalente a prioridade da conta. No meu caso que só tenho 2 contas seria fácil...

É apenas uma ideia, será que é viável?

ghost commented 2 years ago

Acho que um Multi Acc de duas acc ainda tá "fácil". Ontem comecei minha segunda acc e vi que com as duas no chrome o bot da uma bugada e ficava afim uma só aberta, aí abri a segunda no Firefox e funcionou perfeito. Acho que pros comandos do Telegram pra Multi acc, o bot poderia identificar o navegador, sendo o chrome o 1, Firefox 2, Edge 3 é assim por diante, podendo em algum arquivo de config ser alterado a ordem dos navegadores. Acredito que poderia funcionar pq o bot atualmente já identifica o navegador que está sendo usado.

newerton commented 2 years ago

@VGNChris O bot está sendo usado pelo usuário com 11 contas, e as 11 é com o chrome. O que você tem que fazer no chrome é criar 2 perfil diferente, você não pode usar o mesmo perfil de usuário do chrome em 2 contas diferente do bombcrypto, senão o jogo se desconecta de outra conta.

Sobre os comandos de Multiacc para o Telegram está desativado, por que a criação dos comandos para o bot do telegram, tem que ser dinâmico e não pode ser fixo. O bot tem que identificar a quantidade de tela ativa, e depois criar os comandos novos, como por exemplo /map_1 e /map_2

newerton commented 2 years ago

@kerferber Tranquilo? Vou responder cada item.

  1. Foi feito desta forma, por que é uma data no formato universal, se futurametne eu fizer um site que aceita upload desses relatório, para retornar uma média diária, semanal ou mensal, fica mais fácil e rápido armazenar essa informações no banco.
  2. O saldo já está sendo salvo com virgulas, que é o formato que o Excel identifica como "moeda", se ele está enviando com virgula para o Telegram, é esse o mesmo formato que é salvo no CSV.
  3. Você consegue fazer essa alteração no arquivo coins.py, mas recomendo deixar enviiando a imagem, para você ter uma dupla validação da informação, pode ocorrer que no momento do bot tirar o print do seu bcoin, ele não reconhecer o 8(oito) e informar que é 0(zero).
  4. Já pensei em N possibilidades de pegar o nome da janela, nome do usuário conectado, pegar o endereço da carteira, mas esse tipo de processo seria muito custoso para o bot, talvez demoraria uns 2~3 minutos somente esse processo que o bot faz, pensei até em colocar um alerta, para informar se o bot poderia buscar o endereço da metamask para adicionar ao CSV, mas ai o bot poderia ser tachado como scam, se caso algum usuário perde-se seus bcoins usando o bot. Então eu evitei esse tipo de implementação, até que eu consiga buscar uma informação rapida do browser, sem afetar a privacidade do usuário.

Qualquer melhoria/dúvida/reclamação dos itens acima, vai postando aqui, vamos trocar essas idéias.

Obrigado pela resposta @newerton

Eu tive uma ideia pra diferenciar as contas. é como eu particularmente faço pra saber em que conta estou logado, mas não sei se funcionaria pra todo mundo, de qualquer forma, vou deixar minha idéia..

Eu tenho duas contas, chamo-as de conta principal e conta secundária.

Na conta principal eu tenho mais Bcoins na metamask, na conta secundária tenho menos.

De repente o bot poderia ler o saldo que aparece na janela principal do bomb (na barra superior, ao lado do baú e do botão de configurações), e assim diferenciar as contas por número de BCoins.

Conta 1 maior número de BCoins Conta 2 segundo maior númeo de BCoins Conta 3 Terceiro maior número de BCoins, e assim vai.

Dependeria de o usuário deixar em carteira sempre o número equivalente a prioridade da conta. No meu caso que só tenho 2 contas seria fácil...

É apenas uma ideia, será que é viável?

O problema de ficar usando o saldo de bcoin do jogo, é quando você der claim ai a ordem das informações no CSV já fica errada.

newerton commented 2 years ago

@kerferber Tranquilo? Vou responder cada item.

  1. Foi feito desta forma, por que é uma data no formato universal, se futurametne eu fizer um site que aceita upload desses relatório, para retornar uma média diária, semanal ou mensal, fica mais fácil e rápido armazenar essa informações no banco.
  2. O saldo já está sendo salvo com virgulas, que é o formato que o Excel identifica como "moeda", se ele está enviando com virgula para o Telegram, é esse o mesmo formato que é salvo no CSV.
  3. Você consegue fazer essa alteração no arquivo coins.py, mas recomendo deixar enviiando a imagem, para você ter uma dupla validação da informação, pode ocorrer que no momento do bot tirar o print do seu bcoin, ele não reconhecer o 8(oito) e informar que é 0(zero).
  4. Já pensei em N possibilidades de pegar o nome da janela, nome do usuário conectado, pegar o endereço da carteira, mas esse tipo de processo seria muito custoso para o bot, talvez demoraria uns 2~3 minutos somente esse processo que o bot faz, pensei até em colocar um alerta, para informar se o bot poderia buscar o endereço da metamask para adicionar ao CSV, mas ai o bot poderia ser tachado como scam, se caso algum usuário perde-se seus bcoins usando o bot. Então eu evitei esse tipo de implementação, até que eu consiga buscar uma informação rapida do browser, sem afetar a privacidade do usuário.

Qualquer melhoria/dúvida/reclamação dos itens acima, vai postando aqui, vamos trocar essas idéias.

Obrigado pela resposta @newerton Eu tive uma ideia pra diferenciar as contas. é como eu particularmente faço pra saber em que conta estou logado, mas não sei se funcionaria pra todo mundo, de qualquer forma, vou deixar minha idéia.. Eu tenho duas contas, chamo-as de conta principal e conta secundária. Na conta principal eu tenho mais Bcoins na metamask, na conta secundária tenho menos. De repente o bot poderia ler o saldo que aparece na janela principal do bomb (na barra superior, ao lado do baú e do botão de configurações), e assim diferenciar as contas por número de BCoins. Conta 1 maior número de BCoins Conta 2 segundo maior númeo de BCoins Conta 3 Terceiro maior número de BCoins, e assim vai. Dependeria de o usuário deixar em carteira sempre o número equivalente a prioridade da conta. No meu caso que só tenho 2 contas seria fácil... É apenas uma ideia, será que é viável?

O problema de ficar usando o saldo de bcoin do jogo, é quando você der claim ai a ordem das informações no CSV já fica errada.

A ideia que eu tive é pegar automaticamente o endereço da metamask, por exemplo, depois do bot fazer o login e entrar na tela principal, o bot ia com o mouse lá na sua metamask, clicava no botão de copiar a carteira, e depois usava essa informação para salvar no CSV com esse saldo, ai você conseguiria abrir o CSV no Excel, e saber qual carteira, aquele perfil do navegador estava farmando. Mas como eu tinha explicado, isso da minha parte é muito intrusivo, por que o endereço publica da carteira, é uma informação privada do usuário. Ainda mais agora que tem 2 site que mostra a porcentagem de ROI, o usuário poderia alegar que o bot estava fazendo ele farmar menos ou dizer que o bot estava roubando os BCOIN's dele.

As informações que tenho em Multiaccount, é o nome do navegador (chrome, firefox, edge, brave,..) e o título da página, que é somente "bombcrypto" ou "Bombcrypto", o bot não tem acesso ao perfil do usuário logado no navegador. E por mais que eu crie essa ação de buscar o endereço da metamask, ou buscar o nome do perfil, pode levar alguns minutos no farm.

Até pensei e deixar essa configuração de conta e endereço no arquivo config.yaml, mas mesmo assim caia no problema de cima, do usuário achar que colocando a carteira dele ali, o bot vai roubar os BCOIN's dele. Tive uma discussão já, com um usuário no repositório do mpcabete por causa disso, o infeliz abriu uma Issue so para falar que o bot roubou os BCOIN deles. Esse bot é de código aberto, qualquer um pode investigar e inspecionar.

Eu queria que a biblioteca de buscar os navegadores que tem o jogo aberto, me retornar algumas informações do usuário, como qual perfil está logado, não precisava nem trazer o nome do usuário ou o email, eu só precisava de um ID, com esse ID eu saberia qual conta/perfil está aberta.

Vou ver depois outras biblioteca para o python, de buscar somente essas informações da conta logada no chrome. Talvez resolva esse problema de identificar qual conta está usando.

kerferber commented 2 years ago

@kerferber Tranquilo? Vou responder cada item.

  1. Foi feito desta forma, por que é uma data no formato universal, se futurametne eu fizer um site que aceita upload desses relatório, para retornar uma média diária, semanal ou mensal, fica mais fácil e rápido armazenar essa informações no banco.
  2. O saldo já está sendo salvo com virgulas, que é o formato que o Excel identifica como "moeda", se ele está enviando com virgula para o Telegram, é esse o mesmo formato que é salvo no CSV.
  3. Você consegue fazer essa alteração no arquivo coins.py, mas recomendo deixar enviiando a imagem, para você ter uma dupla validação da informação, pode ocorrer que no momento do bot tirar o print do seu bcoin, ele não reconhecer o 8(oito) e informar que é 0(zero).
  4. Já pensei em N possibilidades de pegar o nome da janela, nome do usuário conectado, pegar o endereço da carteira, mas esse tipo de processo seria muito custoso para o bot, talvez demoraria uns 2~3 minutos somente esse processo que o bot faz, pensei até em colocar um alerta, para informar se o bot poderia buscar o endereço da metamask para adicionar ao CSV, mas ai o bot poderia ser tachado como scam, se caso algum usuário perde-se seus bcoins usando o bot. Então eu evitei esse tipo de implementação, até que eu consiga buscar uma informação rapida do browser, sem afetar a privacidade do usuário.

Qualquer melhoria/dúvida/reclamação dos itens acima, vai postando aqui, vamos trocar essas idéias.

Obrigado pela resposta @newerton Eu tive uma ideia pra diferenciar as contas. é como eu particularmente faço pra saber em que conta estou logado, mas não sei se funcionaria pra todo mundo, de qualquer forma, vou deixar minha idéia.. Eu tenho duas contas, chamo-as de conta principal e conta secundária. Na conta principal eu tenho mais Bcoins na metamask, na conta secundária tenho menos. De repente o bot poderia ler o saldo que aparece na janela principal do bomb (na barra superior, ao lado do baú e do botão de configurações), e assim diferenciar as contas por número de BCoins. Conta 1 maior número de BCoins Conta 2 segundo maior númeo de BCoins Conta 3 Terceiro maior número de BCoins, e assim vai. Dependeria de o usuário deixar em carteira sempre o número equivalente a prioridade da conta. No meu caso que só tenho 2 contas seria fácil... É apenas uma ideia, será que é viável?

O problema de ficar usando o saldo de bcoin do jogo, é quando você der claim ai a ordem das informações no CSV já fica errada.

A ideia que eu tive é pegar automaticamente o endereço da metamask, por exemplo, depois do bot fazer o login e entrar na tela principal, o bot ia com o mouse lá na sua metamask, clicava no botão de copiar a carteira, e depois usava essa informação para salvar no CSV com esse saldo, ai você conseguiria abrir o CSV no Excel, e saber qual carteira, aquele perfil do navegador estava farmando. Mas como eu tinha explicado, isso da minha parte é muito intrusivo, por que o endereço publica da carteira, é uma informação privada do usuário. Ainda mais agora que tem 2 site que mostra a porcentagem de ROI, o usuário poderia alegar que o bot estava fazendo ele farmar menos ou dizer que o bot estava roubando os BCOIN's dele.

As informações que tenho em Multiaccount, é o nome do navegador (chrome, firefox, edge, brave,..) e o título da página, que é somente "bombcrypto" ou "Bombcrypto", o bot não tem acesso ao perfil do usuário logado no navegador. E por mais que eu crie essa ação de buscar o endereço da metamask, ou buscar o nome do perfil, pode levar alguns minutos no farm.

Até pensei e deixar essa configuração de conta e endereço no arquivo config.yaml, mas mesmo assim caia no problema de cima, do usuário achar que colocando a carteira dele ali, o bot vai roubar os BCOIN's dele. Tive uma discussão já, com um usuário no repositório do mpcabete por causa disso, o infeliz abriu uma Issue so para falar que o bot roubou os BCOIN deles. Esse bot é de código aberto, qualquer um pode investigar e inspecionar.

Eu queria que a biblioteca de buscar os navegadores que tem o jogo aberto, me retornar algumas informações do usuário, como qual perfil está logado, não precisava nem trazer o nome do usuário ou o email, eu só precisava de um ID, com esse ID eu saberia qual conta/perfil está aberta.

Vou ver depois outras biblioteca para o python, de buscar somente essas informações da conta logada no chrome. Talvez resolva esse problema de identificar qual conta está usando.

@newerton, sinceramente, acho excelente a ideia de utilizar o endereço da carteira pra diferenciar as contas.

Entendo sua preocupação com a desconfiança com scam e etc, talvez pra contornar isso você poderia implementar um terceiro arquivo.yaml somente pra quem quiser habilitar esta função...

Talvez fazer o bot clicar sozinho e 'pegar' o número da carteira realmente possa parecer invasivo para alguns (pra mim, não)...

Mas e se esta funcionalidade depender de o próprio usuário informar o endereço da carteira em um config.yaml ? talvez possa parecer mais correto..

E também faria com que somente utilize esta funcionalidade quem optar por informar as carteiras, quem achar perigoso basta não utilizar... Enfim...

Outra coisa, realmente clicar na metamask pra conferir carteira SEMPRE que o bot executar algum comando possa acrescentar alguma lentidão ao farm, embora essa função só seria chamada a partir de uma solicitação no telegram, ou após terminar um mapa e verificar o saldo... Se o usuário não executar nada via telegram, a demora extra seria praticamente imperceptível.

Será que existe possibilidade de verificar a "ordem" em que as janelas estão na barra de tarefas? Janela 1, janela 2, janela 3... etc?

Se sim, poderia fazer o seguinte:

Essa ordem seria mantida até o bot voltar a ser reinicializado.....

Pode ter uma certa curva de aprendizado para o usuário entender o funcionamento, mas em tese, bastaria não alterar a ordem das janelas sem REINICIALIZAR o bot. Eu particularmente só altero eventualmente quando reinicio a VM e consequentemente reinicio o BOT também...

Enfim... desculpe o texto longo...

mateuskiedis commented 2 years ago

Boa tarde Newerton, primeiramente parabéns pelo trabalho!! Vi que adicionou o modo amazon ai, sensacional. Fiquei pensando se num futuro não teria como selecionar os modos pra cada acc. Por exemplo: tenho uma conta que jogo no amazon e outra que ainda está no treasure. Não sei se é possível já mas pelo o que eu vi na configuração parece que não. Não sei nem se tem como fazer pelo bot seguir sempre a mesma rotina, se não tiver como também, desconsidere a sugestão.

Obrigado!!!!

newerton commented 2 years ago

@mateuskiedis Tem como fazer sim, na próxima atualização do bot faço essa melhoria.

cBassc commented 2 years ago

Tem como alterar o tempo que o BOT muda de uma janela pra outra no modo Multicontas?