Example #1
0
def addDraw(QQnum, num):
    DrawType = setting.openjson('ini')["DrawType"]
    msg = ""
    if not DrawType:
        msg = "抽卡系统未开启"
        return msg
    # 判断用户是否绑定了
    if QQnum in binds:
        user_id = binds[QQnum]
        cardAll = setting.openjson('user/user')  # 打开本地userCard缓存到 cardAll
        # 过滤出含有 QQnum 的用户
        user = list(filter(lambda item: item["user_id"] == user_id, cardAll))
        if len(user):
            try:
                user = user[0]
                user["integral"] += int(num)
                setting.writejson(cardAll, 'user/user')
                msg = "补偿成功"
            except:
                msg = "积分错误"
        else:
            msg = '发生错误,请检查绑定的user_id'
    else:
        msg = "未查到" + str(QQnum) + "信息"
    return msg
Example #2
0
def intDraw(QQnum):
    DrawType = setting.openjson('ini')["DrawType"]
    msg = ""
    if not DrawType:
        msg = "抽卡系统未开启"
        return msg
    # 判断用户是否绑定
    QQnum = str(QQnum)
    if QQnum in binds:
        user_id = binds[QQnum]
        userAll = setting.openjson("user/user")
        userCard = list(
            filter(lambda item: item["user_id"] == user_id, userAll))
        if len(userCard):
            userCard = userCard[0]
            # 计算抽奖次数
            DrawNum = int(userCard["integral"] / 100)
            # 积分够不够
            if DrawNum:
                userCard["integral"] -= DrawNum * 100
                arr = card(DrawNum, userCard)
                # userCard 用户抽卡信息
                # msg 返回的文案
                userCard = arr[0]
                msg = arr[1]
                setting.writejson(userAll, 'user/user')
            else:
                msg = '积分不足'
        else:
            msg = '发生错误,请检查绑定的user_id'

    else:
        msg = "未查到" + str(QQnum) + "信息"
    return msg
Example #3
0
def seachMy(idType, Id):
    DrawType = setting.openjson('ini')["DrawType"]
    if not DrawType:
        msg = "抽卡系统未开启"
        return msg
    msg = ""
    user_id = 0
    userAll = setting.openjson('user/user')  # 打开本地user缓存到 userAll
    if idType:
        # 过滤出含有 nick_name的对象数组
        user = list(filter(lambda item: item["nick_name"] == Id, userAll))
        if not (len(user) == 1):
            msg = "未查到信息或昵称重名了"
            return msg
        else:
            user = user[0]
            user_id = user["user_id"]
    else:
        Id = str(Id)
        # 判断用户是否绑定了
        if Id in binds:
            user_id = binds[Id]
            # 过滤出含有 QQnum 的用户
            user = list(
                filter(lambda item: item["user_id"] == user_id, userAll))
            if len(user):
                user = user[0]
                user_id = user["user_id"]
            else:
                msg = '发生错误,请检查绑定的user_id'
                return msg
        else:
            msg = "未查到" + str(Id) + "信息"
            return msg
    userCard = user['card_list']
    cardmsg = ""
    # 部署已抽到的卡的文案
    cardAllNum = setting.openjson('ini')['cardAllNum']
    sysAllNum = 0
    userAllNum = 0
    for item in userCard:
        try:
            sysAllNum += cardAllNum[item]
        except:
            pass
        userAllNum += len(userCard[item])
        if len(userCard[item]):
            cardmsg += '\n【' + item + "】" + str(len(
                userCard[item])) + '/' + str(cardAllNum[item]) + '\n| '
            for name in userCard[item]:
                cardmsg += name + " | "
    msg = "ID:" + str(user["nick_name"]) + "\n" + \
          "可用积分:" + str(user["integral"]) + "\n" + \
          "收集进度: " + str(userAllNum) + "/" + str(sysAllNum) + "\n" + \
          "抽卡信息:" + cardmsg
    return msg
Example #4
0
def lvUp(user_id, nickname):  # 小星星
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 玩家在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        # 角色在不在
        has = list(
            filter(lambda item: item['nickname'] == nickname, userAllIdol))
        if not len(has):
            return "你没有%s" % nickname
        # 判断道具在不在或者够不够
        hasProp = list(
            filter(lambda item: item['name'] == "小星星", user["package"]))
        if not len(hasProp):
            return "你没有小星星"
        hasIdol = has[0]
        # 根据等级扣除小星星,最多四个
        need = {"N": 1, "R": 2, "SR": 3, "SSR": 4, "UR": 4}
        needStar = need[hasIdol["level"]]
        if hasProp[0]["num"] < needStar:
            return "小星星数量不够"
        hasProp[0]["num"] -= needStar
        if hasProp[0]["num"] <= 0:
            user["package"].remove(hasProp[0])
        # 开始升级
        hasIdol["star"] += 1
        [attack, defense, life] = setting.dataUp(hasIdol["level"])
        hasIdol["attack"] += attack
        hasIdol["life"] += life
        hasIdol["alllife"] += life
        hasIdol["defense"] += defense
        if hasIdol["level"] in ["R", "N"]:
            hasIdol["lock"] = True
        msg = "【%s】升星!\n星级:%s \n[CQ:emoji,id=9876]️%s ↑ %s\n[CQ:emoji,id=128737]️%s ↑ %s\n[CQ:emoji,id=9829]%s ↑ %s" % (
            hasIdol["nickname"], setting.levelN(
                hasIdol["star"]), hasIdol["attack"], attack,
            hasIdol["defense"], defense, hasIdol["life"], life)
        if hasIdol["level"] in [
                "N", "R", "SR"
        ] and hasIdol["star"] >= 4 and hasIdol["skill"] == "未知":  # 获得技能
            skill = setting.openjson("chess/skill")
            hasIdol["skill"] = random.choice(skill)["name"]
            msg += '\n获得技能:%s' % hasIdol["skill"]
        setting.writejson(userAll, 'chess/user')
    return msg
Example #5
0
def cardSamll(user, msgList, level):
    # 遍历路径下的所有文件
    # 抽一张
    # 获得cardName
    # 根绝level获取文件子路径 /r /sr /ssr 这种
    childPath = setting.openjson('ini')["childPath"][level]
    file_dir = cardPath + idolPath + "/" + childPath
    # print(file_dir)
    # print(list(os.walk(file_dir)))
    files = list(os.walk(file_dir))[0][2]
    cardName = os.path.splitext(random.choices(files)[0])[0]

    # 判断重复
    if cardName in user['card_list'][childPath]:
        # 转换积分
        msgList[2] += 30 + 10 * level
        msgList[0] += 1
    else:
        user["card_num"] += 1
        user['card_list'][childPath].append(cardName)
        if childPath not in msgList[1]:
            msgList[1][childPath] = []
        msgList[1][childPath].append(cardName)
    arr = [user, msgList]
    return arr
Example #6
0
def idolhMy(user_id, level):  # 我的角色
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        # 过滤出含有 nick_name的对象数组
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        lvIdol = list(filter(lambda item: item['level'] == level, userAllIdol))
        allN = len(setting.openjson("chess/idol/%s" % level))
        msg = "你的%s(%d/%d):" % (level, len(lvIdol), allN)
        for idol in lvIdol:
            msg += "%s *%s、" % (idol["nickname"], idol["num"])
    return msg
Example #7
0
def battlelist(user_id=False, reDict=False):  # 攻击列表
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    if not len(userAll):
        return msg
    userAll = levelProtect(userAll)  # 计算战斗力
    setting.writejson(userAll, 'chess/user')
    if user_id:
        # 判断用户在不在
        user = list(filter(lambda item: item['user_id'] == user_id, userAll))
        if not len(user):
            return msg
        # 判断退游
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        power = user["power"]
        users = userAll[:4]
        userAll = list(filter(lambda x: power - x["power"] < 300, userAll))
        # 至少允许攻击后三位
        if len(userAll) < 4:
            userAll = users
        if reDict:
            return userAll
    msg = ''
    for item in userAll:
        msg += '%s[%s]  %d\n' % (item["nickname"][0], item["nickname"][-1],
                                 item["power"])
    return msg
Example #8
0
def treatment(user_id, nickname):  # 治疗
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 玩家在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        # 角色在不在
        has = list(
            filter(lambda item: item['nickname'] == nickname, userAllIdol))
        if not len(has):
            return "你没有%s" % nickname
        # 角色是不是残血
        hasIdol = has[0]
        if hasIdol["life"] >= hasIdol["alllife"] or hasIdol["life"] <= 0:
            return "你的%s已死亡或不需要治疗" % nickname
        # 判断道具在不在或者够不够
        hasProp = list(
            filter(lambda item: item['name'] == "治疗药水", user["package"]))
        if not len(hasProp):
            return "你没有治疗药水"
        hasProp[0]["num"] -= 1
        if hasProp[0]["num"] <= 0:
            user["package"].remove(hasProp[0])
        # 开始复活
        hasIdol["life"] = hasIdol["alllife"]
        msg = "你的【%s】已恢复生命值" % nickname
        setting.writejson(userAll, 'chess/user')
    return msg
Example #9
0
def reset():  # 重置
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    for item in userAll:
        item["gold"] = 6
        for idol in item['idol']:
            idol['battle'] = 1
    setting.writejson(userAll, 'chess/user')
    return "已经重置"
Example #10
0
def addAtc():
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    for item in userAll:
      for idol in item['idol']:
          idol['battle'] = 1
      for idol in item['otherIdol']:
          idol['battle'] = 1
    setting.writejson(userAll,'chess/user')
Example #11
0
def DrawCard(user_id, nick_name, backer_money):
    msg = ''
    # 不管金额多少都要入库,首先判断是否入库
    userAll = setting.openjson('user/user')  # 打开本地user缓存到 userAll
    user = list(filter(lambda item: item['user_id'] == int(user_id),
                       userAll))  # 过滤出含有 user_id的对象数组
    # 计算抽卡次数
    DrawNum = int(backer_money / oneCard)
    # 查看一下抽卡系统的状态
    DrawType = setting.openjson('ini')["DrawType"]
    if len(user):  # 判断是否存在对象 长度为0则不存在
        # 用户存在
        user = user[0]
        # 打开用户抽卡文件并过滤出当前用户
        user = list(
            filter(lambda item: item['user_id'] == int(user_id), userAll))[0]
        # 修改用户基本信息
        user['nick_name'] = nick_name
        user['all_money'] = round(backer_money + user['all_money'], 2)
        user['nick_name'] = nick_name
        if DrawNum and DrawType:
            # 开始抽卡
            arr = card(DrawNum, user)
            # arr = [user,msg]
            # userCard 用户抽卡信息
            # msg 返回的文案
            user = arr[0]
            msg = arr[1]

    else:
        # 用户不存在
        # 新建用户 DrawNum 为可抽卡次数
        dataList = addUser(user_id, nick_name, backer_money, DrawNum, DrawType)
        # dataList = [user,userCard,msg]
        # user 用户基本信息
        # userCard 用户抽卡信息
        # msg 返回的文案
        user = dataList[0]
        msg += dataList[1]
        # 新用户添加到缓存的数据里去
        userAll.append(user)
    # 按集资总额排序
    userAll = sorted(userAll, key=lambda item: item["all_money"], reverse=True)
    setting.writejson(userAll, 'user/user')
    return msg
Example #12
0
def changeBattle(user_id, idolList):  # 替换角色
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        # 判断角色是否拥有
        idolList = list(set(idolList.split(" ")))
        if len(idolList) != 2:
            return "角色不可重复且数量必须为2"
        userAllIdol = user["idol"] + user["otherIdol"]
        for idol in idolList:
            has = list(
                filter(lambda item: item['nickname'] == idol, userAllIdol))
            if not len(has):
                return "你没有%s" % idol
            # 判断血量
            for i in has:
                if i["life"] <= 0:
                    return "你的%s已经阵亡,重选" % idol
        # 判断第一个在不在
        hasGo = list(
            filter(lambda item: item['nickname'] == idolList[0], user["idol"]))
        if len(hasGo):
            hasGo = hasGo[0]
            hasT = list(
                filter(lambda item: item['nickname'] == idolList[1],
                       user["otherIdol"]))[0]
        else:
            hasGo = list(
                filter(lambda item: item['nickname'] == idolList[1],
                       user["idol"]))[0]
            hasT = list(
                filter(lambda item: item['nickname'] == idolList[0],
                       user["otherIdol"]))[0]
        user["otherIdol"].remove(hasT)
        user["otherIdol"].append(hasGo)
        user["idol"].remove(hasGo)
        user["idol"].append(hasT)
        user["idol"] = sorted(user["idol"],
                              key=lambda x: x['attack'],
                              reverse=True)
        user["otherIdol"] = sorted(user["otherIdol"],
                                   key=lambda x: x['attack'],
                                   reverse=True)
        msg = "%s的当前阵容:" % user["nickname"][0]
        for item in user["idol"]:
            msg += "\n【%s】%s %s %s %s [CQ:emoji,id=9876]️%s [CQ:emoji,id=128737]️%s [CQ:emoji,id=9829]%s/%s" % (
                item["battle"], setting.levelN(
                    item["star"]), item["level"], item["nickname"],
                "*" + item["skill"] + "*" if item["skill"] != "未知" else '',
                item["attack"], item["defense"], item["life"], item["alllife"])
        setting.writejson(userAll, 'chess/user')
    return msg
Example #13
0
def changeProid(cont, pk=False):
    msg = ''
    try:
        # 获取新的proid
        pro_id = int(cont[5:])
        # 获取项目信息
        orderDict = modian.getDetail(pro_id)
        # 判断proid是否是有误
        if int(orderDict['status']) == 2:
            msg = 'pro_id有误,请核实后重试'
        else:
            # 获取本地库配置
            ini = setting.openjson('ini')
            # 在这里判断是换了日常还是pk
            if pk:
                ini['modian']['pk'] = pro_id
            else:
                # 配置好新的proid
                ini['modian']['pro_id'] = [pro_id]
            # 获取摩点order数据
            orderData = modian.sorted_orders(pro_id, 1)
            # 判断当前项目是否存在数据
            if int(orderData['status']) == 2:
                # 不存在数据
                data = []
                # 保存本地order文件
                setting.writejson(data, "order/" + str(pro_id))
            else:
                page = 1
                data = []
                while True:
                    orderData = modian.sorted_orders(pro_id, page)
                    # print(orderData["data"])
                    if orderData["data"] == None:
                        break
                    page += 1
                    data += orderData["data"]

                # for item in data:
                #     card.DrawCard(item["user_id"],item["nickname"],item["backer_money"])
                # 保存本地order文件
                setting.writejson(data, "order/" + str(pro_id))
            # resetRank(pro_id)
            # 保存配置文件
            setting.writejson(ini, 'ini')
            # 设置返回文案
            # 在这里判断是换了日常还是pk
            if pk:
                msg = '更换成功,当前pk项目为: ' + orderDict['data'][0]['pro_name']
            else:
                msg = '更换成功,当前项目为: ' + orderDict['data'][0]['pro_name']
    except Exception:
        msg = '发生错误,请检查输入格式是否正确'
    return msg
Example #14
0
def on_time():
    todayType = openjson('ini')['todayType']
    if todayType:
        msg = ["每日集资记录~\n\n"]
        msgAll = msg[0] + tool.today("定时播报")
        for grpid in groupid():
            bot.send_group_msg_async(group_id=grpid,
                                     message=msgAll,
                                     auto_escape=False)
            time.sleep(0.5)
    else:
        print('每日播报未开启')
Example #15
0
def DrawCard(user_id, nickname):  # 最终调用的招募函数
    # 不管金额多少都要入库,首先判断是否入库
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 过滤出含有 user_id的对象数组
    user = list(filter(lambda item: item['user_id'] == int(user_id), userAll))
    if len(user):  # 判断是否存在对象 长度为0则不存在
        # 用户存在
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        msg = "次数已耗尽,等待恢复。"
        if "nickname" not in user:
            user["nickname"] = [nickname]
        if user["gold"]:
            msgArr = card(user)
            msg = msgArr['msg']
            user = msgArr['user']
            user["gold"] -= 1
    else:
        # 用户不存在
        data = setting.openjson('chess/idol/ssr')  # 打开本地user缓存到 userAll
        idol = random.choice(
            list(filter(lambda item: item['level'] == "SSR", data)))
        user = {
            "user_id": user_id,
            "nickname": [nickname],
            "gold": 5,
            "uninstall": False,
            "power": 0,
            "package": [],
            "revenge": [],
            "idol": [idol],
            "otherIdol": []
        }
        userAll.append(user)
        msg = "恭喜你招募到了【SSR】的新角色【%s】!\n初次招募必得SSR,后续招募看脸。" % idol["nickname"]
    userAll = levelProtect(userAll)  # 计算战斗力
    # 新用户添加到缓存的数据里去
    setting.writejson(userAll, 'chess/user')
    return msg
Example #16
0
def studySkill(user_id, cont):  # 学技能
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 玩家在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        [skill, nickname] = cont.split(" ")
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        # 角色在不在
        has = list(
            filter(lambda item: item['nickname'] == nickname, userAllIdol))
        if not len(has):
            return "你没有%s" % nickname
        # 判断道具在不在或者够不够
        hasProp = list(
            filter(lambda item: item['name'] == "技能书", user["package"]))
        if not len(hasProp):
            return "你没有技能书"
        # 技能在不在
        hasSkill = list(
            filter(lambda item: item['name'] == skill,
                   setting.openjson('chess/skill')))
        if not len(hasSkill):
            return "【%s】不存在" % skill
        elif not hasSkill[0]["study"]:
            return "【%s】不可学习" % skill

        hasIdol = has[0]
        hasProp[0]["num"] -= 1
        if hasProp[0]["num"] <= 0:
            user["package"].remove(hasProp[0])
        # 开始复活
        hasIdol["skill"] = skill
        msg = "你的【%s】已学会【%s】" % (nickname, skill)
        setting.writejson(userAll, 'chess/user')
    return msg
Example #17
0
def nchange(user_id, m="N"):  # 融化
    if m == "N":
        n = 10
    elif m == "R":
        n = 5
    elif m == "SR":
        n = 2
    else:
        return ''
    msg = "\n请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "\n你已卸载退游"
        nCard = list(
            filter(lambda x: x["level"] == m and not x["lock"],
                   user["otherIdol"]))
        user["otherIdol"] = list(
            filter(lambda x: x["level"] != m or x["lock"], user["otherIdol"]))
        nCard = sorted(nCard, key=lambda x: x['num'], reverse=True)
        # 开始计算
        alln = sum([(i["num"]) for i in nCard])
        if alln < n:
            return "\n不足%d个%s不可融合" % (n, m)
        num = int(alln / n)
        ind = alln % n
        user["gold"] += num
        # 获取剩余的
        surplus = []
        if ind:
            i = 0
            while ind:
                if nCard[i]["num"] >= ind:
                    nCard[i]["num"] = ind
                    surplus.append(nCard[i])
                    ind = 0
                else:
                    surplus.append(nCard[i])
                    ind -= nCard[i]["num"]
                    i += 1

        user["otherIdol"] += surplus
        # print([i["nickname"] for i in user["otherIdol"]])
        # print(ind)
        # return
        setting.writejson(userAll, 'chess/user')
        msg = "\n获得%s点招募值" % str(num)
    return msg
Example #18
0
def delAdmin(QQnum):
    msg = ''
    try:
        Admin_id = int(QQnum)
        data = setting.openjson('ini')
        if Admin_id in data['admin']:
            data['admin'].remove(int(Admin_id))
            setting.writejson(data, 'ini')
            msg = '删除成功'
        else:
            msg = '该管理员不存在'
    except Exception:
        msg = '发生错误,请检查输入格式是否正确'
    return msg
Example #19
0
def addAdmin(QQnum):
    msg = ''
    try:
        Admin_id = int(QQnum)
        data = setting.openjson('ini')
        if Admin_id in data['admin']:
            msg = '该管理员已经存在'
        else:
            data['admin'].append(int(Admin_id))
            setting.writejson(data, 'ini')
            msg = '追加成功'
    except Exception:
        msg = '发生错误,请检查输入格式是否正确'
    return msg
Example #20
0
def addPk(cont):
    msg = "添加pk项目成功"
    pkList = cont[5:].split(" ")
    # 将pidlist合并成可执行变量
    hasList = ",".join(pkList)
    pkData = getDetail(hasList)
    if pkData["status"] == "2":
        msg = pkData['message']
    else:
        data = setting.openjson("ini")
        data["pk"]["list"] = []
        for item in pkList:
            data["pk"]["list"].append(item.split(","))
        setting.writejson(data, "ini")
    return msg
Example #21
0
def seachPack(user_id):  # 道具列表
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        if not len(user["package"]):
            return "你没有道具"
        msg = "你的道具:"
        for item in user["package"]:
            msg += "%s*%d、" % (item["name"], item["num"])
    return msg
Example #22
0
def alllockOn(user_id):  # 上锁
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        if user[0]["uninstall"]:
            return "你已卸载退游"
        for item in user[0]["idol"]:
            item["lock"] = False
        for item in user[0]["otherIdol"]:
            item["lock"] = False
        msg = "已全部解锁"
    setting.writejson(userAll, "chess/user")
    return msg
Example #23
0
def reset():
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    for user in userAll:
      user["revenge"] = []
      for item in user['idol']:
        if item["life"] < item['alllife']:
          item["life"] = item['alllife']
          
      for item in user['otherIdol']:
        if item["life"] < item['alllife']:
          item["life"] = item['alllife']
      addUser = 6 - len(user['idol'])
      if addUser:
          user['idol'] = user['idol']+user['otherIdol'][:addUser]
          user['otherIdol'] = user['otherIdol'][addUser:]
    setting.writejson(userAll,'chess/user')
Example #24
0
def revenge(user_id):  # 仇人列表
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        if user[0]["uninstall"]:
            return "你已卸载退游"
        # 开始复仇
        msg = ''
        revenges = list(
            filter(lambda x: x['revenge'] < x['num'], user[0]["revenge"]))
        if not len(revenges):
            return False
        for item in revenges:
            msg += "%s\n" % item["nickname"][0]
    return msg
Example #25
0
def showSkill(user_id, name):  # 查看拥有技能角色
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        nCard = list(filter(lambda x: x["skill"] == name, userAllIdol))
        if not len(nCard):
            return "你没有 *%s* 的角色" % name
        msg = "*%s*:" % name
        for item in nCard:
            msg += "%s、" % item["nickname"]
    return msg
Example #26
0
def dead(user_id):  # 已阵亡
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        user = user[0]
        if user["uninstall"]:
            return "你已卸载退游"
        userAllIdol = user["idol"] + user["otherIdol"]
        nCard = list(filter(lambda x: x["life"] <= 0, userAllIdol))
        if not len(nCard):
            return "你没有战败角色"
        msg = "战败:"
        for item in nCard:
            msg += "%s、" % item["nickname"]
    return msg
Example #27
0
def changeDraw(types):
    msg = ""
    iniData = setting.openjson("ini")
    if types:
        if iniData["DrawType"]:
            msg = "不可重复开启"
        else:
            iniData["DrawType"] = True
            msg = "开启成功"
    else:
        if iniData["DrawType"]:
            iniData["DrawType"] = False
            msg = "关闭成功"
        else:
            msg = "不可重复关闭"
    setting.writejson(iniData, "ini")
    return msg
Example #28
0
def todayShow(cont):
    msg = ''
    todayType = setting.openjson('ini')
    if cont == '开启每日播报':
        if todayType['todayType']:
            msg = '不可重复开启'
        else:
            todayType['todayType'] = True
            setting.writejson(todayType, 'ini')
            msg = '开启成功'
    else:
        if todayType['todayType']:
            todayType['todayType'] = False
            setting.writejson(todayType, 'ini')
            msg = '关闭成功'
        else:
            msg = '不可重复关闭'
    return msg
Example #29
0
def changePK(cont):
    msg = ""
    data = setting.openjson("ini")
    if data["pk"]["status"]:
        if cont == "开启pk":
            msg = "开启状态不可重复开启"
        elif cont == "关闭pk":
            data["pk"]["status"] = False
            data["pk"]["list"] = []
            data["modian"]["pk"] = ''
            msg = "已关闭并清除pk项目列表"
    else:
        if cont == "开启pk":
            data["pk"]["status"] = True
            msg = "开启成功,通过【pkid Pro_id】设置pkid\n通过【pk项目 Pro_id,Pro_id Pro_id,Pro_id Pro_id,Pro_id ...】设置pk列表"
        elif cont == "关闭pk":
            msg = "关闭状态不可关闭"
    setting.writejson(data, "ini")
    return msg
Example #30
0
def getDui(user_id):  # 没有对手的反馈
    msg = "请先招募"
    userAll = setting.openjson('chess/user')  # 打开本地user缓存到 userAll
    # 判断用户在不在
    user = list(filter(lambda item: item['user_id'] == user_id, userAll))
    if len(user):
        if user[0]["uninstall"]:
            return "你已卸载退游"
        # 开始复仇
        allDui = list(
            filter(
                lambda item: item['user_id'] != user_id and user_id not in
                [j['user_id'] for j in item['revenge']] and item['power'] > 0,
                userAll))
        if not len(allDui):
            return "你无敌了"
        duishou = random.choice(allDui)
        msg = duishou['nickname'][1] if len(
            duishou['nickname']) > 1 else duishou['nickname'][0]
    return msg