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 . "."; }
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; }
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; }
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; }