Example #1
0
 private function loseAllMoney()
 {
     $this->out .= "\n" . emoji(0x1f4a5) . " The heavens part, and the hand of god approaches you... ";
     $Transact = new Transact($this->db);
     $Transact->transactToBank(new BankTransaction($this->Message->User, $this->Message->User->getBalance(true), new TransactionType(TransactionType::LevelPurchase)));
     $this->out .= "\n*" . $this->Message->User->getName() . "*, it takes all of your " . COIN_CURRENCY_NAME . ".";
 }
Example #2
0
 public function main()
 {
     $Transact = new Transact($this->db);
     if ($this->noParams() == 2) {
         $user_receiving = Query::getUserMatchingStringOrErrorMessage($this->db, $this->Message->Chat, $this->getParam());
         if (is_string($user_receiving)) {
             Telegram::talk($this->Message->Chat->id, $user_receiving);
             return false;
         }
         $Transaction = new Transaction($this->Message->User, $user_receiving, $this->getParam(1), new TransactionType(TransactionType::Manual));
         $Transact->performTransaction($Transaction);
         if ($Feedback = $Transact->Feedback->getFeedback()) {
             $out = emoji("0x1F4E2") . " " . $Feedback . "\n`   `• `" . $user_receiving->getName() . "` now has 💰*" . $user_receiving->getBalance() . "*" . "\n`   `• `You've` got 💰*" . $this->Message->User->getBalance() . "* left.";
             if ($user_receiving->user_id != -1) {
                 $out .= "\n`   `• `The Bank` took 2%, or 💰*" . round($this->getParam(1) * 0.02, 2) . "*";
             }
             Telegram::talk($this->Message->Chat->id, $out);
         } else {
             Telegram::talk($this->Message->Chat->id, "I'm so sorry brah...");
         }
     } else {
         Telegram::talk($this->Message->Chat->id, "Like this fam " . emoji("0x1F449") . "  /send richardstallman 10");
     }
     return true;
 }
Example #3
0
 public static function buyLevel(User $user, \PDO $db)
 {
     $price = Level::getLevelPrice($user->level + 1);
     if ($user->getBalance() >= $price) {
         $Transact = new Transact($db);
         if ($Transact->transactToBank(new BankTransaction($user, $price, new TransactionType(TransactionType::LevelPurchase)))) {
             $user->level++;
             $user->save($db);
             return true;
         }
     }
     return false;
 }
Example #4
0
 private function collectPeriodicTax()
 {
     $bank = $this->UserSQL->getUserFromId(COIN_BANK_ID);
     $this->Transact->CoinSQL->CollectPeriodicTax();
     $to_collect = COIN_PERIODIC_TAX * $this->Transact->CoinSQL->getTotalCoinExisting(false);
     $bank->balance = $bank->getBalance(true) + $to_collect;
     $this->Transact->CoinSQL->AddTransactionLog(new Transaction(NULL, $bank, $to_collect, new TransactionType(TransactionType::AllTax)));
     $this->Transact->maintainFixedLevel($bank);
     $bank->save($this->db);
     Telegram::customShitpostingMessage(emoji(0x1f4e2) . " " . COIN_TAXATION_BODY . " just collected " . round($to_collect, 2) . " " . COIN_CURRENCY_NAME . " in tax.");
     return true;
 }