Bang Dream 卡面猜猜看!(参考cck的裁剪方式的重写)

请在插件市场搜索bangbangcai即可试用
image

p.s:由于第一次接触ts语言和koishi框架的开发,加上本人技术力有限,还是存在一些bug :smiling_face_with_tear:

实现思路(游戏过程):

1、输入指令bbc,即可从bestdori的json文件中随机抽选组成卡面api,并下载存储至本地

2、使用cck插件的裁切方式进行三处随机裁剪并发送

3、将每一把游戏信息存入数据库。每隔5s查询是否超过单词游戏时间,若超过60s则本局游戏结束,自动发送答案
image

4、发送bzd或者正确答案同样会返回卡面图(提示词皆可自定义,不要在意我设定的…)
答对情况:


不知道情况

image

分割线---------------------------------分割线

注意:因为网络原因,有时候会出现许久发不出图的情况,或者题目重复(还有一种情况是输入bzd之后连续发好几张图,目前还没排查出原因)。

遇到这些情况下,使用命令bbc重开即可清理数据库重置该玩家游戏状态。

之后就可以重新开启新一把游戏了!实在不行那就重载插件一下吧,提前致歉

最后非常感谢cck作者kumo和其群友的热心帮助! :partying_face: :partying_face: :partying_face:

2 个赞

泥邦要火

2 个赞


高压型ars吗

2 个赞

再次致歉,这个bug目前还没排查出来,等我下个月再改改 :smiling_face_with_tear:

2 个赞

最近有空稍微重写了下。
最新版本已推送,欢迎测试。

**注:**目前版本只能单个群聊或者单个私聊同时开一个游戏进程

排查出来的问题是ctx.on()监听器的问题,我把一个定时器设置在了里面导致每次有人发消息就会创建一个新的定时器。

关于多群同时进行游戏的方法,有思路但是懒得改了有缘再说吧,有这个需求的koishi上克隆一份配置再设置下过滤器试试看

2 个赞

现在版本单个群聊或者单个私聊进行应该没啥问题了,如果想玩可以试试 :smiling_face_with_tear:

2 个赞

看起来 很是风切喜欢吃的项目

我也看看

不过github怎么空了

1 个赞

刚刚上传完毕,git代理出了点问题

2 个赞

感觉风切会喜欢这个插件的样子

所以安装试了一下,发现问题不少

PR解决了此插件目前所有的痛点!


1 个赞

非常感谢! :partying_face:我晚点有空看一下
红豆泥阿里嘎多

2 个赞

大家我都喜欢哦

2 个赞

*发出了爱音

1 个赞

有时候计时会特别快
image

image
有时候没有图片
image
有时候会先给答案再给题目


有时候游戏会没有提示的自己结束

依赖都是最新

日志给了(

2 个赞

收到反馈了

目前定位到问题还是之前写法不行

之前的ctx.on监听全局消息的方法仍然不能很好地处理游戏逻辑

1 个赞

目前发现是插件的数据问题,我需要逐个校验数据源

例如

https://bestdori.com/assets/jp/characters/resourceset/res024064_rip/card_normal.png
https://bestdori.com/assets/jp/characters/resourceset/res019052_rip/card_normal.png

这两个URL已经不存在了



完整的校验日志放不下了:

image

2025-03-17 11:44:23,278 - INFO - Key 11 的 URL 验证通过。
2025-03-17 11:44:23,279 - INFO - Key 23 的 URL 验证通过。
2025-03-17 11:44:23,280 - INFO - Key 21 的 URL 验证通过。
2025-03-17 11:44:23,282 - INFO - Key 29 的 URL 验证通过。
.....................

2025-03-17 11:44:33,232 - WARNING - 请求 https://bestdori.com/assets/jp/characters/resourceset/res036002_rip/card_normal.png 失败: Cannot connect to host bestdori.com:443 ssl:default [指定的网络名不再可用。]
2025-03-17 11:44:33,232 - INFO - Key 1813 的 URL 验证失败。
2025-03-17 11:44:33,236 - WARNING - 以下key由于URL验证失败,已被移除: ['275', '274', '272', '271', '273', '1186', '1154', '1153', '1152', '1168', '1210', '1223', '1155', '1188', '1187', '1222', '1204', '1216', '1229', '1290', '1284', '1273', '1296', '1323', '1309', '1322', '1315', '1346', '1410', '1365', '1329', '1352', '1366', '1330', '1404', '1372', '1392', '1378', '1386', '1403', '1421', '1487', '1477', '1321', '1475', '1476', '1479', '1162', '1480', '1478', '1486', '1161', '1512', '1513', '1506', '1493', '1525', '1541', '1533', '1524', '1581', '1580', '1593', '1592', '1621', '1604', '1585', '1610', '1619', '1591', '1600', '1620', '1676', '1633', '1643', '1632', '1655', '1625', '1631', '1639', '1693', '1659', '1654', '1688', '1697', '1718', '1663', '1672', '1692', '1696', '1700', '1701', '1699', '1698', '1702', '1695', '1694', '1719', '1784', '1834', '1785', '1833', '1992', '2034', '2050', '5001', '10008', '5004', '2100', '5011', '10003', '5005', '10001', '10004', '5009', '10012', '10000', '5003', '5007', '10006', '5002', '5008', '5006', '5010', '10010', '10005', '10007', '10002', '10013', '10009', '10011', '10016', '10022', '10014', '10017', '10020', '10021', '10025', '10024', '10026', '10019', '10018', '10015', '10023', '1813']
2025-03-17 11:44:33,317 - INFO - 已将有效的JSON数据保存到 all5_2.json。

D:\QQbots\QQ_bots\koishing\coding\koishi-c\koishi-app\data\bangbangcai>
1 个赞

是的 ctx.on会有一些问题,但为了方便用户能直接输入角色名答题所以我还是选择了它
目前我自己测下来还有一个问题:在两个用户同时发送正确答案时bot也会执行两次答题正确逻辑

如果使用ctx.commend方式应该能解决一些问题?
但是commend应该需要用户输入额外的字符吧,比如“是xxx”“答案是xxx”这样

2 个赞

这个其实也没什么

同时答题给两个回复其实也不错

主要是担心这种情况

1 个赞

请尝试 1.3.0 版本

已经修复了部分问题,

还有一部分问题 待继续确定

2 个赞

其实我觉得可以在开始游戏指令里面注册事件监听器,回答正确或者时间到之后注销掉,应该能少处理很多逻辑问题

2 个赞

原来就是这样写的

但是没处理好

1 个赞