Giter Site home page Giter Site logo

azmiao / uma_gacha Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 99 KB

适用hoshinobot的可自动更新的赛马娘模拟抽卡插件,由nb插件移植而来[https://github.com/HibiKier/nonebot_plugin_gamedraw]

License: GNU General Public License v3.0

Python 100.00%

uma_gacha's Introduction

写在前面

【重要】插件移植自@HibiKier大佬的nonebot插件

补充,本插件现已被合并到马娘整合插件

在原有基础上持续适配卡池,biliwiki的公告页面布局老是变2333,b站wiki的ui也有变化,导致得一直适配,部分wiki内容我也有在更改,图鉴缺少的内容我也补上了,新年祈愿一下后续稍微平稳一点hhhh(

插件后续将持续更新,其他马娘插件也在绝赞开发中(大概

本插件仅供研究学习使用

另外感谢三个多月来参与测试的大佬们

更新日志

22-02-05 v1.4.2 初五财神到,祝大家升官发财!优化了自动更新程序

22-02-01 v1.4.1 新年快乐!成功给aiocq的基础框架移植了一份,代码日渐完善(大概),准备正式开源

22-01-20 v1.3.2 一些适配更新(biliwiki的公告页面布局老是变2333

22-01-14 v1.3.1 重构部分代码,使之适配新的页面布局和其他什么什么的

22-01-06 v1.2 更改卡池信息文件,指令结果等

21-12-15 v1.1 修复部分异常,调整代码结构

21-11-23 v1.0 首次移植适配

使用前须知

卡池受限于biliwiki的公告更新速度,一般大佬们会在晚上更新公告,因此插件会在卡池更新后的第二天凌晨4点自动更新数据

可能遇到的问题

由于卡池信息和图鉴信息不同步,如果在卡池更新当天晚上22点后到第二天4点自动更新前重启过hoshino,会导致第二天的4点检测不到卡池更新,因此请使用命令 "更新马娘信息" 来手动更新图鉴

项目地址:

https://github.com/azmiao/uma_gacha

功能

[查看马娘卡池] 看马娘当前的池子

[@bot马娘单抽] 马娘池子单抽
[@bot马娘十连] 马娘池子十连
[@bot马之井] 马娘池子抽一井

[@bot育成卡单抽] 育成卡池子单抽
[@bot育成卡十连] 育成卡池子十连
[@bot育成卡井] 育成卡池子抽一井

[更新马娘信息] 维护组限定,自动更新失败可进行手动,用于更新图片数据,更新完会自动重载卡池的
[重载赛马娘卡池] 维护组限定,说实话没啥大用2333,用于手动刷新一下卡池

简单食用教程:

若需要看插件使用的图片效果,请访问: https://www.594594.xyz/2022/02/05/uma_gacha_for_hoshino/

  1. 下载或git clone本插件:

    在 HoshinoBot\hoshino\modules 目录下使用以下命令拉取本项目

    git clone https://github.com/azmiao/uma_gacha
    
  2. 安装依赖,不一定全,请视自己日志是否报错然后补全:

    pip install -r requirements.txt
    
  3. 在 HoshinoBot\hoshino\config\ __bot__.py 文件的 MODULES_ON 加入 'uma_gacha'

    然后重启 HoshinoBot即可,会自动检测文件和更新数据的,自动更新完方可使用,详情请看hoshino的日志,若有报错请看看是否有什么依赖没有装,如若依赖没有问题仍报错,请反馈bug

uma_gacha's People

Contributors

azmiao avatar

Stargazers

7years4ever avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

cazcz

uma_gacha's Issues

如何修改抽卡结果中的每排头像个数?

非常抱歉以issue的形式提出这个问题,您的插件很棒,没有任何错误就运行了起来,很流畅。
不过抽卡结果的显示是一排10个头像,在手机版QQ上图片缩略显示并不全,要点开来看,点开的话,因为图片横向太长了,要放大看,不是特别的方便。
所以我想把每一行的头像数目调整为5

我自己也有尝试,在utli.py找到了看上去像是控制图片生成的代码

async def generate_img(card_set: Union[Set[BaseData], List[BaseData]], game_name: str, star_list: list) -> str:
# try:
img_list = []
background_list = []
for x in card_set:
pyname = cn2py(x.name)
img_list.append(DRAW_PATH + f'/draw_card/{game_name}/{pyname}.png')
img_len = len(img_list)
w = 100 * 10
if img_len <= 10:
w = 100 * img_len
h = 100
elif img_len % 10 == 0:
h = 100 * int(img_len / 10)
else:
h = 100 * int(img_len / 10) + 100
card_img = await asyncio.get_event_loop().run_in_executor(None, _pst, h, img_list, game_name, background_list)
num = 0
for n in star_list:
num += n
A = CreateImg(w, h)
A.paste(card_img)
return A.pic2bs4()

我将里面的10改成了5

async def generate_img(card_set: Union[Set[BaseData], List[BaseData]], game_name: str, star_list: list) -> str:
# try:
img_list = []
background_list = []
for x in card_set:
pyname = cn2py(x.name)
img_list.append(DRAW_PATH + f'/draw_card/{game_name}/{pyname}.png')
img_len = len(img_list)
w = 100 * 5
if img_len <= 5:
w = 100 * img_len
h = 100
elif img_len % 5 == 0:
h = 100 * int(img_len / 10)
else:
h = 100 * int(img_len / 10) + 100
card_img = await asyncio.get_event_loop().run_in_executor(None, _pst, h, img_list, game_name, background_list)
num = 0
for n in star_list:
num += n
A = CreateImg(w, h)
A.paste(card_img)
return A.pic2bs4()

有效果,抽卡结果的图片确实横向每排只有5个头像了。
4104

但是很快我发现这样子实际上显示不全,也就是横向上仍然是10个头像,只不过只显示了5个,多余的都被截掉了,最明显的就是模拟10连的时候,只显示5个。
3905

因为我只能看懂这些了,其他的几个py我看了下,基本看不懂,周围也没有懂py的人,只能问下您如何修改了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.