rafaeltiribas / techtiribas-discord-bot

A discord bot with multiple functionalities for the TechTiribas server.
3 stars 1 forks source link

Bytes Wallet, Transferencias e rendimento de Wallets. #16

Closed thiagochirana closed 4 weeks ago

thiagochirana commented 4 weeks ago

Foram criadas novas funcionalidades para atender a issue #13

Bot Bank

O bot contém um "banco" no qual de acordo com um cron expression, ele executa um aumento percentual em todas as carteiras dos usuários. Algo como se fosse um "CDB" .

Transferencias entre Usuários

O user consegue transferir para outro user uma quantidade de bytes, o bot valida se os dois users existem, se o saldo de bytes é maior que o solicitado para transferencia e até se a transferencia não é para ele mesmo.

O comando atualmente é /transferir_bytes onde o user deve preencher marcando o user que vai receber a transferencia e o valor em bytes que será transferido.

Cheque o src/services/wallet_service.py no def transferir_bytes_para para entender melhor.

Jobs executados de acordo com Cron expressions

Como citado antes, o bot usa cron expressions para executar uma tarefa. Existe um service chamado jobs_service.py que cuida disso.

Wallets

Cada user contém uma wallet (carteira) onde é armazenado o valor em bytes do usuário. Existe um comando /bytes que mostra o saldo

Embed messages

O bot é capaz de mandar embed messages, que são aquelas mensagens destacadas que contém uma barra colorida na lateral esquerda da mesma. O messages.py é o responsável por criar e enviar essas mensagens.

Para entender melhor, busque pelo comando /bytes por exemplo, para ver como ele funciona ;)

Logs

Apenas para mostrar com mais detalhes no console, foi criado a funcionalidade de Logs, onde ele printa no console de forma mais "customizada", colorido para ser mais exato. o responsável por isso está em src/utils/log.py