BOT管理员
2024/6/14
功能设计
框架很简单
|--main.py
|--admin.py
|--admin.db
|--init_admin.py
init_admin.py生成db数据库,使用admin.py读取数据库并进行添加删除操作,同时读取用户权限判断管理员能使用的权限
这里就不再详细放出和解释代码
init_admin.py
import sqlite3
conn = sqlite3.connect('admin.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS admin (
user_id TEXT PRIMARY KEY,
permissions TEXT
)
''')
conn.commit()
conn.close()
QQ号和权限
admin.py
def is_admin(qq_id):
conn = connect_db()
cursor = conn.cursor()
cursor.execute('SELECT permissions FROM admin WHERE user_id = ?', (qq_id,))
result = cursor.fetchone()
conn.close()
return result
def add_admin(qq_id, permissions):
conn = connect_db()
cursor = conn.cursor()
cursor.execute('INSERT OR IGNORE INTO admin (user_id, permissions) VALUES (?, ?)', (qq_id, permissions))
conn.commit()
conn.close()
def remove_admin(qq_id):
conn = connect_db()
cursor = conn.cursor()
cursor.execute('DELETE FROM admin WHERE user_id = ?', (qq_id,))
conn.commit()
conn.close()
def query_uids_by_group(group_id):
conn = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'scripts', 'bilibili', 'bilibili.db'))
cursor = conn.cursor()
cursor.execute('SELECT group_id, qq_id, bilibili_uid FROM monitoring WHERE group_id = ?', (group_id,))
rows = cursor.fetchall()
conn.close()
return rows
def remove_uid_by_group(bilibili_uid, group_id):
conn = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'scripts', 'bilibili', 'bilibili.db'))
cursor = conn.cursor()
cursor.execute('DELETE FROM monitoring WHERE bilibili_uid = ? AND group_id = ?', (bilibili_uid, group_id))
conn.commit()
conn.close()
至于怎么添加管理员,是否有超级管理员和普通管理员,一切就看自己了