This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
BanID/BanID.py
2023-09-26 16:20:38 +03:00

87 lines
3.2 KiB
Python

import json
class BanID():
#Функция инициализации
def __init__(self, filename):
self.filename=filename
#Функция регистрации ID
def regID(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]={'bans':[], 'globalban':False, 'rep':0xff}
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Локальная блокировка
def ban(self, username, nameban):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['bans'].append(nameban)
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Глобальная блокировка
def gban(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['globalban']=True
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Понижение репутации
def unrep(self, username, amount):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['rep']=db[username]['rep']-amount
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Повышение репутации
def rep(self, username, amount):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['rep']=db[username]['rep']+amount
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Снятие глобальной блокировки
def ungban(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['globalban']=False
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Снятие локальной блокировки
def unban(self, username, nameban):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
db[username]['bans'].remove(nameban)
filetemp=open(self.filename, 'w')
filetemp.write(json.dumps(db))
filetemp.close()
#Проверка наличия локальной блокировки
def checkban(self, username, nameban):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
return db[username]['bans'].count(nameban)>=0
#Проверка наличия глобальной блокировки
def checkgban(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
return db[username]['globalban']
#кол-во репутации
def viewrep(self, username):
filetemp=open(self.filename, 'r')
db=json.loads(filetemp.read())
filetemp.close()
return db[username]['rep']