Git Product home page Git Product logo

hoshinobot's People

Contributors

akiraxie avatar azmiao avatar girlkiller512 avatar harpes avatar hieuzest avatar ice9coffee avatar lhxnois avatar majiaxin110 avatar muelnova avatar othinus001 avatar pr0phesyer avatar var-mixer avatar yuudi avatar z16388 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hoshinobot's Issues

clanbattle-cmdv3

  • 采用前缀触发、关键词触发
  • 新增进本队列概念
  • 新增出刀暂停、白嫖刀所需伤害计算等功能

bot推特转发时图片发送失败

在bot转发推特消息时,仅有文字发送出来而没有图片,酷q日志报错:“文件名不合法,无法发送!(http://pbs.twimg.com/media/EctbLXUUMAA8s7K.jpg)”

而windows powershell无错误显示:
[2020-07-12 15:43:56,622 twitter-poller] INFO: 成功获取@ywwuyi的新推文1条
INFO:twitter-poller:成功获取@ywwuyi的新推文1条
[2020-07-12 15:44:24,171 kc-twitter] INFO: 群1087439520 投递kc-twitter成功 共1条消息
INFO:kc-twitter:群1087439520 投递kc-twitter成功 共1条消息

是在windows下部署的,发送图片协议选择的是file

New feature: Text-to-speech in cherugo

最近更新了切噜语功能,然后我群群友跟我提了需求,说希望把切噜语语音发出来。感觉做出来也挺有意思的。
初步思路就是用阿里/百度 API 生成语音,然后使用 MessageSegment.record 生成 coolq 语音消息。最后加几个语音功能的配置项。

我最近忙暂时不打算做这个功能,反正issue就先开在这。

[bug]FreqLimiter

Line 135, File ./hoshino/util.py
self.next_time[key] = time.time() + cd_time if cd_time > 0 else self.default_cd
should be
self.next_time[key] = time.time() + (cd_time if cd_time > 0 else self.default_cd)
(一行code就不pr了)

分群广播功能

目前的广播功能只能全部群都广播,希望能像lssv一样加上-g参数,分群广播。

安装失效

按照步骤在Linux Ubuntu阿里云机器上进行了搭建,各步骤检查了很多遍。但是仍然没有效果。

这可能不叫一个ISSUE,但是希望可以得到帮助。

详细信息:

  1. 使用CoolQ Air:xiaoi
  2. docker ip桥为:172.17.0.1
  3. 改动了config.py 中的SUPERUSERS,NICKNAME 和 HOST
  4. CoolQ上正常登陆账号,QQ上私聊BOT,在群艾特BOT,发送指令均无响应

优化配置文件加载

可以使用yaml或者toml这类文件作为配置文件,便于修改以及后续代码无脑git pull
免去修改代码中修改全局变量后解决conflict的痛苦

相关issue:#61

角色别称补全计划

注意:兰德索尔花名册现已作为独立项目,Hoshino现已搭载自动更新功能。

本issue存在被其他无关bot滥用的嫌疑,因此不再接受新回复!

请移步 兰德索尔花名册 补充提案。


请注意:本issue仅收集 公主连结☆Re:dive 的角色别称,请勿添加无关内容

角色别称储存在文件 _pcr_data.py 中,如果您知道这个角色有未收录的别称,欢迎在本issue下补充!

回复格式:官方名或id: "新别称1", "新别称2",

例如:

优衣: "被对不起的对象"
镜华: "八岁喷水小萝莉", "超可爱镜华"

已认可的别称将会获得🎉标志,将随后续的更新添加,还请耐心等待。
使用不广泛/带有贬义/包含跨作品梗的别称将酌情考虑(例如"泼妇"/"亚索"等),暂时不会添加。


  • 现已支持繁体!,欢迎熟悉**特有别称的玩家补充或提交pr。

  • 計画の中にも日本語の本名とニックネームの補完があります。同様に補充またはPull requestを提出することも歓迎致します。

Optimize speed of uploading image

发送图片时绝大多数时间花费在session.send()上,约2s,而base64转换大约需要200ms,或许可以绕过base64转换,提高发图响应速度。

新增群员状态信息

由于公会成员在没有公会战的时候很多会去农场之类的,如果能够增加在会状态:在会,在农场,对于成员管理会更方便,还能根据这个状态一键催入会

config重做

现在的config.json文件散落于各个模块中,不便管理和修改。
重做后将集中到一个folder内,改用py配置,好处是可以利用上编辑器的智能提示,也可用上封装好的class

[关于docker部署问题] 有些情况下,使用docker 容器无法访问 172.17.0.1:8080

在使用ubuntu部署时候出现docker 容器无法访问 172.17.0.1:8080的情况,导致无法使用。
我找到原因发现这是一个docker的Bug,宿主机的 8080 端口允许其它计算机访问,但是不允许来自本机的 Docker 容器访问,必须通过设置 firewalld 规则允许本机的 Docker 容器访问。

解决办法 解决 docker 容器无法通过 IP 访问宿主机问题
解决 docker 容器无法通过 IP 访问宿主机问题

pcrclanbattle模块部分命令无法使用

[2020-06-03 15:11:53,192 nonebot] INFO: Self: 3212332881, Message 315 from 1452372625: '!查看公会'
[2020-06-03 15:14:54,971 nonebot] INFO: Self: 3212332881, Message 316 from 1452372625: 'lssv'
[2020-06-03 15:18:13,940 nonebot] INFO: Self: 3212332881, Message 317 from 1452372625: '!查看公会'
[2020-06-03 15:18:22,688 nonebot] INFO: Self: 3212332881, Message 318 from 1452372625: '!查看公会'

感覺cb_cmd的命令都無法使用, on_command注解可以使用

mac部署出错

FileNotFoundError: [Errno 2] No such file or directory: './res/img/priconne/comic/index.json'
机器人没反应酷q正常

关于bot的迁移

最近遇到了要将bot迁移到其他服务器上的需求,请问除了程序文件夹和用户目录下的.hoshino之外还有什么要备份的吗

参与开发~

群内名字是久远式~ 业余时间想要参与代码更新~

Request for doc

补充文档

  • 快速开始
  • 功能一览
  • 各功能详细说明 (主要是会战管理)
  • FAQ
  • 部署说明(等有人需要了再说吧,有需求请先联系开发者)

文档在写了,咕咕咕

Service层重做

当前Service层存在诸多问题(重要性排序):

  • 命令解析常以空格作为分隔符,与用户直觉不符
  • 权限判定及触发条件判断会被执行多次,运行效率低
  • 新增的触发条件on_rexon_keyword不支持NICKNAME判定
  • 帮助文档为集中式,过长易刷屏
  • Service名为英文,对用户不友好
  • 不支持私聊:设计如此,Service的目的就是实现分群的启/禁用和权限控制,个别命令可能需要私聊支持,应采用别的实现方式。

重做方案(优先度排序):

  • 新增on_prefix触发条件,利用前缀触发,无需空格
  • 新增on_fullmatch触发条件,实现上属于on_prefix的子集
  • 使用on_prefix替代带参的on_command,使用on_fullmatch替代无参的on_command
  • 保留on_keywordon_rex但不建议使用(运行效率低)
  • 使用统一的入口函数,1条消息在Service层仅需1次判定,使用trie实现最长前缀匹配,仅触发一个function
  • 保持原生on_command的兼容性
  • Service自带说明文档,由集中式改为分布式

以下内容暂时先不做了,有需要再新开issue:

  • 入口函数内处理NICKNAME,NICKNAME改为分Q号设置
  • 删除on_natrual_language的支持:基本无需使用
  • 添加Service别名,可用中文

优妮

优妮“uni”“un”“油腻”“油腻先辈”

命令前缀没有生效

虽然在设置里填写了前缀的符号,但实际似乎只有私聊 在?的时候才会起效。。原因不明

会战筛刀功能

会战管理模块添加功能用于筛刀,用例如下:

骑士A:#报筛 167
bot:@骑士A 已记录筛刀 167

骑士B:#报筛 188
bot:@骑士B 已记录筛刀 188

骑士C:#报筛 189
bot:@骑士C 已记录筛刀 189

骑士X:#筛刀
bot:伤害排序前3的刀为
1、189 骑士C
2、188 骑士B
3、167 骑士A
伤害排序后3的刀为
-3、80 骑士X
-2、70 骑士Y
-1、60 骑士Z
合计筛刀15刀,平均伤害 150.5

======骑士A使用SL打出更高伤害========

骑士A:#报筛 190
bot:@骑士A 已更新筛刀记录至 190

骑士X:#筛刀
bot:伤害排序前3的刀为
1、190 骑士A
2、189 骑士C
3、188 骑士B
伤害排序后3的刀为
-3、80 骑士X
-2、70 骑士Y
-1、60 骑士Z
合计筛刀30刀,平均伤害 160

=======骑士X指挥出刀中=======

=========出刀完毕后==========
骑士X:#筛刀清空
bot:@骑士X 筛刀记录已清空

骑士X:#筛刀
bot:@骑士X 目前暂无筛刀

来自某前排会个个Boss都要30个人进去筛刀的群友。
附:一号一刀,可删除自己的报筛(“退筛/删筛”)

自定义统计图表字体

在不修改代码的情况下可以指定统计图使用的ttf字体,也可以考虑加入资源包一键使用,主要解决在没有中文字体的系统上统计图表中文变方块的问题

New feature: 记录公会成员的队伍大致伤害以便于排刀

基本需求:
排刀时需要根据公会成员三支队伍能打的伤害进行排刀。如果bot能记录各个成员的队伍伤害,可以方便排刀。

Example:

member1: !我的队伍伤害 50w 50w 30w  #更新member1的队伍伤害
member2: !我的队伍伤害 30w 30w 20w  #更新member2的队伍伤害
admin: !队伍伤害    #查看队伍伤害

bot:公会成员队伍伤害一览
  member1: 50w 50w 30w
  member2: 30w 30w 20w 

进阶需求:
这个功能完成后还可以进行一定拓展。
用户自行选择是否开启该功能。如果开启,则出刀时必须汇报是哪一队出的刀
Example:

member1: !我的队伍伤害 50w 50w 30w  #更新member1的队伍伤害
member2: !我的队伍伤害 30w 30w 20w  #更新member2的队伍伤害
member1: !出刀 51w T1  #使用 Team 1 出刀造成 51w伤害
admin: !队伍伤害    #查看队伍伤害

bot:公会成员队伍伤害一览,* 标记的队伍表示未出刀。
  member1: 50w *50w *30w
  member2: *30w *30w *20w 

抽卡问题

抽一井的功能用不了,第一次无回复,第二次再发送就会显示今天已经抽过了

bot发送图片失败

在使用官漫 来一井 jjc查询时都不能发送图片,酷Q后台报错
文件名不合法,无法发送!(base64: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

shell没有错误显示
[2020-06-15 12:24:24,490 gacha] INFO: Message 185 is handled as command by gacha_300.
[2020-06-15 12:24:24,490 nonebot] INFO: Message 185 is handled as a command

但是使用shebot就能发送图片
我使用的Ubuntu 19.10 x64 在docker中部署的

太长的消息发送失败

开启debug模式,确认过命令都已经被正确的处理了。

在我使用CQ air时,help信息发送不了。
使用CQ pro时,help信息一样发送不了;进行 gacha_10时,“恭喜海豹”能够正常发送,但是后面的base64发送不了。

初步怀疑是由于消息过长。不知道作者是否遇到过同样的问题?

linux环境部署时无法正常开启反向ws

按照文档在linux用docker运行酷q air时,发现cqhttp的输出仅有[2020-06-12 12:17:00.257] [I] [日志] 日志控制台开启成功
[2020-06-12 12:17:00.285] [I] [HTTP] 开启 HTTP 服务器成功,开始监听 http://0.0.0.0:5700
没有反向ws开启的信息,可能是什么原因呢?

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.