mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2025-06-16 19:35:24 +02:00
Paypal (#41)
* Implement Titan Tokens clientside * Titan Tokens can be modified in the admin panel
This commit is contained in:
committed by
GitHub
parent
d363b66799
commit
8bc95f7b0e
@ -11,4 +11,25 @@ from keyvalue_properties import KeyValueProperties, set_keyvalproperty, get_keyv
|
||||
from messages import Messages, get_channel_messages
|
||||
from cosmetics import Cosmetics
|
||||
from user_css import UserCSS
|
||||
from administrators import Administrators, get_administrators_list
|
||||
from administrators import Administrators, get_administrators_list
|
||||
from titan_tokens import TitanTokens, get_titan_token
|
||||
from token_transactions import TokenTransactions
|
||||
|
||||
def set_titan_token(user_id, amt_change, action):
|
||||
token_count = get_titan_token(user_id)
|
||||
if token_count >= 0:
|
||||
token_usr = db.session.query(TitanTokens).filter(TitanTokens.user_id == user_id).first()
|
||||
else:
|
||||
token_count = 0
|
||||
token_usr = TitanTokens(user_id, 0)
|
||||
db.session.add(token_usr)
|
||||
db.session.commit()
|
||||
new_token_count = token_count + amt_change
|
||||
if new_token_count < 0:
|
||||
return False
|
||||
transact = TokenTransactions(user_id, action, amt_change, token_count, new_token_count)
|
||||
db.session.add(transact)
|
||||
token_usr.tokens = new_token_count
|
||||
db.session.add(token_usr)
|
||||
db.session.commit()
|
||||
return True
|
18
webapp/titanembeds/database/titan_tokens.py
Normal file
18
webapp/titanembeds/database/titan_tokens.py
Normal file
@ -0,0 +1,18 @@
|
||||
from titanembeds.database import db
|
||||
|
||||
class TitanTokens(db.Model):
|
||||
__tablename__ = "titan_tokens"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user
|
||||
tokens = db.Column(db.Integer, nullable=False, default=0) # Token amount
|
||||
|
||||
def __init__(self, user_id, tokens):
|
||||
self.user_id = user_id
|
||||
self.tokens = tokens
|
||||
|
||||
def get_titan_token(user_id):
|
||||
q = db.session.query(TitanTokens).filter(TitanTokens.user_id == user_id).first()
|
||||
if q:
|
||||
return q.tokens
|
||||
else:
|
||||
return -1
|
21
webapp/titanembeds/database/token_transactions.py
Normal file
21
webapp/titanembeds/database/token_transactions.py
Normal file
@ -0,0 +1,21 @@
|
||||
from titanembeds.database import db
|
||||
import datetime
|
||||
import time
|
||||
|
||||
class TokenTransactions(db.Model):
|
||||
__tablename__ = "token_transactions"
|
||||
id = db.Column(db.Integer, primary_key=True) # Auto increment id
|
||||
user_id = db.Column(db.String(255), nullable=False) # Discord user id of user
|
||||
timestamp = db.Column(db.TIMESTAMP, nullable=False) # The timestamp of when the action took place
|
||||
action = db.Column(db.String(255), nullable=False) # Very short description of the action
|
||||
net_tokens = db.Column(db.Integer, nullable=False) # Net change of the token amount
|
||||
start_tokens = db.Column(db.Integer, nullable=False) # Token amount before transaction
|
||||
end_tokens = db.Column(db.Integer, nullable=False) # Tokens after transaction
|
||||
|
||||
def __init__(self, user_id, action, net_tokens, start_tokens, end_tokens):
|
||||
self.user_id = user_id
|
||||
self.timestamp = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
|
||||
self.action = action
|
||||
self.net_tokens = net_tokens
|
||||
self.start_tokens = start_tokens
|
||||
self.end_tokens = end_tokens
|
Reference in New Issue
Block a user