Closed KishibeRohan1979 closed 1 year ago
要做计算器的话感觉有些复杂:
升级起点终点固定的话比如从 0 升级到 90 那样又有些懒得做 2333,我可能还要再琢磨琢磨
我觉得你的想法很好(●'◡'●),群里很多人其实是不具备在电脑浏览器中找到自己cookie的能力的,而且也有不少人其实是没电脑的。所以我也觉得简单一点的思路比较好,从简输入。
仅以讨论的角度表达如下看法 比如: 输入:”{角色|武器}材料 xxx“,默认返回升级1~90级所需材料(图片或文字) 输入:”{角色|武器}材料 xxx [40到50]“,返回升级40~50级所需材料(图片或文字) 角色材料、武器材料作为监听命令入口,xxx作为角色或者武器的名字参数,40到50的参数作为可选项 命令的监控可能会有些复杂,我能想到的是,可不可以使用正则表达式去判断
import re
# 正则表达式(命令的正则)
rolesReg = r'角色材料[\u4e00-\u9fa5]+[1-9][0-9]?到[1-9][0-9]?'
# 监听的命令
command = '角色材料纳西妲12到30'
# command = '角色材料魈12到30'
# 正则对比
commandResult = re.match(rolesReg, command)
print(commandResult)
if commandResult:
# 这一步相当于删掉 监视命令 “角色材料” 四个字
newCommand = command[4:len(command)]
print(newCommand)
# 角色名字的正则表达式判断
roleNameReg = r'[\u4e00-\u9fa5]+'
roleNameIndex = re.match(roleNameReg, newCommand).span()
# span()返回元组
print(roleNameIndex)
# 继续拆字符串,获取到的就是角色名字
roleName = newCommand[roleNameIndex[0]:roleNameIndex[1]]
print(roleName)
# 找到所有数字(可能存在隐患)
startAndEnd = re.findall(r'[1-9][0-9]?', command)
# 防止有调皮的群友输入大到小
start = startAndEnd[0]
end = startAndEnd[1]
if start > end:
num = start
start = end
end = num
print(start)
print(end)
else:
print("命令输入错误")
当然代码可能还有些粗糙,可能还有其他健壮性漏洞,以上做讨论范围内的参考。 非常感谢大佬可以考虑添加该模块(≧︶≦))( ̄▽ ̄ )ゞ
沿用上面的举例,我平时喜欢输入命令的方式是“角色材料 纳西妲 1到90”,也就是参数之间空一格,哈哈哈。可能到时候要加一个
command = command.replace(" ", "")
已经基本完成了,不过实现材料本地计算超出我的能力了,最终采用了米游社养成计算器接口计算。可以期待一下近期的新版本。
由于计算器接口需要登录使用,将来需要有效的 cookie(需要 accound_id
和 cookie_token
)才能启用材料计算功能。鉴于某些账号 cookie_token
可能有效期较短,如果需要程序自动更新该字段,则还额外需要 stoken
之类的。
不过好在这个 cookie 只需要机器人部署者配置一遍,不需要用户另外操作,相对来说还是比较方便的。
首先非常感谢大佬无私贡献这么牛的代码 ☜(゚ヮ゚☜)。
就是在平时使用中,有的时候想要知道某个角色(或者武器)的突破、天赋材料是什么,一共需要多少?(比如有的时候这个角色马上要复刻,但是我没有这个角色,导致无法在游戏内查看这个角色的相关材料)只能去别的app或者网页查看,稍微有些不便和繁琐。 希望大佬可以采取一下这个建议!感谢╰( ̄ω ̄o)
我平常看的网页:https://wiki.biligame.com/ys/?curid=14723 以供参考