Skip to content
This repository was archived by the owner on Jun 25, 2020. It is now read-only.

helper.DatabaseHelper.py

gggxbbb edited this page Mar 26, 2020 · 3 revisions

数据库辅助

Player

from helper.DatabaseHelper import Player

添加绑定

try:
    Player(QQ号,XboxID)
except Player.UsedQQException:
    ## 当已存在相同的QQ号时会导致此异常
    print('此QQ号已被绑定')
except Player.UsedIDException:
    ## 当已存在相同的Xbox ID时会导致此异常
    print('此ID号已被绑定')
else:
    print('绑定成功')

获取信息

try:
    ## 方法1
    player = Player(QQ号)
    ## 方法2
    player = Player(QQNumber=QQ号)
    ## 方法3
    player = Player(GamerName=Xbox ID)
    
    ## 构建 Player 之后可以获得对应的QQ号和Xbox ID
    player.QQNumber() ### 获得QQ号
    player.GamerName() ### 获得Xbox ID
except Palyer.PlayerNotFoundException:
    ## 无法根据提供的数据找到玩家信息时会导致此异常
    print('找不到此玩家')

TP 计数

player = Player(QQ号)
player.cleanTpCount() ## 清空计数
player.addTpCount() ## 计数 +1
player.TpCount() ## 获取计数值

# player.addToCount() 有一个可选的参数,用于指定最大计数值。默认为三
# 以下是一个规定最大计数值为5的例子
player.addTpCount(5)
# 若自定义了最大值,每次调用此方法都需提供自定义的最大值

# 当计数值大于最大值时,会导致 TooMuchTpException 异常

try:
    player.addTpCount()
except Player.TooMuchTpException:
    print("TP 请求已达丄限")
else:
    print('正常传送')

其它

player = Player(QQ号)
str(player) ## 可获得 Xbox ID
int(player) ## 可获得 QQ号
player.remove() ## 从数据库中移除此玩家

获得玩家列表:

Player.list()
## 此方法为静态方法,返回一个 Player 组成的 list

Team

form helper.DatabaseHelper import Team

创建队伍

owner = Player('2331490629')
try:
    Team('队伍名',owner)
except Team.UsedTeamNameException:
    print('此队名已被使用')

查询信息

try:
    t = Team('队伍名')

    t.getOwner() # 查询队伍所有者
    t.getMember() # 查询队伍成员
    t.getOwnerAndMember() # 查询队伍所有者和成员
except Team.TeamNotFoundException:
    print('找不到此队伍')

队伍管理

try:
    t = Team('队伍名')
    p = Player('123456')
    try:
        t.addMember(p) # 添加成员
    except Team.AddedMemberException:
        print('玩家已存在与此队伍')

    try:
        t.removeMember(p) # 移除成员
    except Team.MemberNotFoundException:
        print('找不到此成员')

    t.remove() # 删除队伍

except Team.TeamNotFoundException:
    print('找不到此队伍')

其他

Team.list() # 获得所有队伍

Clone this wiki locally