Init
This commit is contained in:
18
database/model.py
Normal file
18
database/model.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from peewee import Model, BigIntegerField, CharField
|
||||
|
||||
from load import db
|
||||
|
||||
|
||||
class Users(Model):
|
||||
user_id = BigIntegerField(null=False)
|
||||
first_name = CharField(64)
|
||||
last_name = CharField(64, null=True)
|
||||
username = CharField(32, null=True)
|
||||
|
||||
tag = CharField()
|
||||
nickname = CharField()
|
||||
townhall = BigIntegerField()
|
||||
attackwins = BigIntegerField()
|
||||
|
||||
class Meta:
|
||||
database = db
|
57
database/worker.py
Normal file
57
database/worker.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from aiogram import types
|
||||
|
||||
from .model import db, Users
|
||||
|
||||
|
||||
|
||||
db.create_tables([Users])
|
||||
|
||||
|
||||
def register(user: types.User, data: dict):
|
||||
if not Users.select().where(Users.user_id==user.id, Users.tag == data['tag']).exists():
|
||||
Users.create(
|
||||
user_id = user.id,
|
||||
first_name = user.first_name,
|
||||
last_name = user.last_name,
|
||||
username = user.username,
|
||||
|
||||
tag = data['tag'],
|
||||
nickname = data['name'],
|
||||
townhall = data['townHallLevel'],
|
||||
attackwins = data['attackWins']
|
||||
)
|
||||
else:
|
||||
Users.update(
|
||||
user_id = user.id,
|
||||
first_name = user.first_name,
|
||||
last_name = user.last_name,
|
||||
username = user.username,
|
||||
|
||||
tag = data['tag'],
|
||||
nickname = data['name'],
|
||||
townhall = data['townHallLevel'],
|
||||
attackwins = data['attackWins']
|
||||
).where(Users.user_id == user.id, Users.tag == data['tag']).execute()
|
||||
|
||||
def delete(user_id: int):
|
||||
Users.delete().where(Users.user_id == user_id).execute()
|
||||
|
||||
def check_register(user_id: int):
|
||||
return Users.select().where(Users.user_id==user_id).exists()
|
||||
|
||||
def get_users():
|
||||
users = []
|
||||
for p in Users.select():
|
||||
users.append(
|
||||
{
|
||||
'user_id': p.user_id,
|
||||
'first_name': p.first_name,
|
||||
'last_name': p.last_name,
|
||||
'username': p.username,
|
||||
'tag': p.tag,
|
||||
'nickname': p.nickname,
|
||||
'townhall': p.townhall,
|
||||
'attackwins': p.attackwins
|
||||
}
|
||||
)
|
||||
return users
|
Reference in New Issue
Block a user