Skip to content

Enzymii/Nyabot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[toc]

因为8.2开始酷Q平台暂停(停止?)服务, 本项目会迁移至mirai, 迁移之后功能可能极其不稳定, 很多问题我也懒得修了 可能会在下个月开始再进行一波重构ww (其实是docker几天前挂掉我才决心迁移的ww)

Nyabot (ニャーボット)

简介

Nyabot is not only a dice bot!

Nyabot是一个 (COC7版规则的) TRPG用的 (可是跑团的人都咕了) QQ骰娘 当然还不务正业地添加了一些其他功能 (详情可以看下面的菜单

使用node.js, 基于cqhttp-node-sdk进行开发

后续会看心情不定期进行维护和更新

安装说明

想要自己搭建一个骰娘嘛~~

  1. 安装nodejs和npm (存在es6语法, 请安装较新的版本)
  2. 安装coolq
  3. 安装cqhttpapi插件并配置
  4. 安装mongodb
  5. git clone https://github.com/Enzymii/Nyabot.git
  6. npm install
  7. 按照个人情况修改config_sample.js并重命名为config.js
  8. 使用npm run nya来愉快的使用吧w

(当然这里大概是存在很多坑的.. 消除恐惧最好的办法就是面对恐惧, 加油, 奥利给!)

使用说明

@

当@骰娘时, 会回应的..

+1

此功能只生效于群聊

A: 人类的本质是什么?
B: 人类的本质是什么?
nya: 人类的本质是什么?
C: 诶.. 这bot通过了图灵测试?!

为了充分激发人类的本质, 培养优秀的复读姬, tx贴心的提供了+1的功能.. 所以bot也应该充分地利用这个功能..

当前面出现两条相同的消息时, bot会重复这句话..

此功能只生效于群聊

由于技术以及其他原因... 这个功能暂时不会完全开放...

可以联系Master来获取测试资格..

设置一些关键词回复, 当一句话出现某个关键词时, 会触发对应的回复. 当有多个可能的回复时, 会等概率随机选取一个.

指令

指令是bot的核心和灵魂... 每一条指令都是形如下面这样的

.指令名 [参数1] [参数2] [...] #不带[]是必选参数 带[]是可选参数..

也就是由.开头, 以空格分隔指令名和参数的一句消息.

下面将详细介绍版本中支持的所有指令及参数信息

help

.help [指令名]

显示帮助文档. 如果参数是下列指令名之一则会显示对应指令的说明. (当然没有这个README写的详细就是了)

hitokoto

.hitokoto
# 或
.htht

使用一言API提供的API, 生成一句话..

以下是引用API提供者的声明:

动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。 简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。

jrrp

.jrrp

使用Dice!提供的API, 计算"今日人品".

数据仅供参考, 实际运势请以个人体验为准..

(P.S. 其实自己写一个会更简单, 使用API的主要目的是和市面上主流骰娘算的结果一致会更有说服力~)

ohy/oysm

.ohy
.oysm

分别是早安和晚安. 指令名源于日本語中的おはよう和おやすみ. 什么你问为什么会用日语?

muda/ora/meow

.muda [次数]
.ora [次数]
.meow [次数]

输出若干無駄/オラ/喵. 次数不填则默认为1. (P.S. 作者是个云JO) (P.S. .meow最后会有后缀)

kokodayo

.kokodayo
.kkdy

输出こ~こ~だ~よ~☆. (P.S. 作者是个云刀客塔)

coc7

.coc [次数]
.coc7 [次数]

进行coc7版人物作成 (具体规则去给我读规则书啊) 次数默认为1. (P.S. 单次作成与多次作成(只要带参,coc 1也被视为多次作成)的输出格式是不一样的w)

r

.r [掷骰表达式] [原因]
.r b奖励骰个数/p惩罚骰个数 [原因] # e.g. .r b1 抵近射击

普通的掷骰.. 掷骰表达式支持字符集{+-*/%d()0123456789}. d运算不能嵌套..(即不能 2d3d3这亚子.. 默认骰为1d100. 奖励骰和惩罚骰规则请见规则书.

rs

参数及说明请见.r. 普通的掷骰, 但是输出会对多个骰子/奖励(惩罚)骰的情况进行简化. 在骰神话生物的伤害的时候适合使用..

rd

.rd [骰子面数] [原因]

.rd X就是.r 1dX的简化形式. X不填的话就是默认值(100) 由于处理表达式的时候默认1不省略, 就添加了这么一个单骰的功能

set

.set 属性1 数值1 [属性2] [数值2] [...]  # 添加属性
.set del 属性1 [属性2] [属性3] [...]    # 删除属性
.set show [属性1] [属性2] [属性3] [...] # 显示属性
# .set clr # 清空属性(这个在最新版本被移除叻)

对人物属性进行相关操作 (会联系数据库) 群属性和全局属性 (P.S. 跟溯洄ver的骰娘存在区别: .st要修改为.set, 然后属性和数值之间都要有空格..) (: 希望会在未来的某个版本添加兼容 (咕) )

en

.en [属性名] [原数值] [原因]

属性增强/技能成长检定.

骰1d100, 如果大于原数值, 则原数值增加1d10.

(P.S. 属性名和原数值请至少填写一项~)

sc

.sc 成功表达式 失败表达式 [当前san值] [原因]

很典型的SAN CHECK. 要不要填写当前SAN值??

(P.S. 和溯洄ver的不同: 成功表达式与失败表达式之间由空格而非**/**分开.. 这个并不想修成兼容的.)

rc

.rc [b奖励骰个数/p惩罚骰个数] [属性名] [属性值] [原因]

按照指定规则(目前只有规则书规则, 未来版本可能会添加自定义规则的资瓷(咕))进行检定.

(P.S. 属性名和原数值请至少填写一项~)

draw

.draw 牌堆名 [次数]

抽卡.. 目前来讲就是从已知的牌池中随机挑一个.. (以后可能会有新的形式(咕)) 目前支持的牌堆:

  • 硬币
  • 性别
  • 个人描述
  • 思想信念
  • 重要之人
  • 重要之人理由
  • 意义非凡之地
  • 宝贵之物
  • 特点
  • 即时症状
  • 总结症状
  • 恐惧症
  • 狂躁症
  • 职业
  • 阵营

sauce

.sauce 一张图

看到群友发图, 但是找不到出处? 这里利用了著名的搜图网站saucenao进行搜图 顺便利用了一下github上的一个开源项目saucenao-node 会返回一个展示链接和相似度的列表, 并自动过滤掉相似度不够高的图片.. (会有些慢就是了www)

chat

(仅用于群聊) (测试功能 目前仅在部分群开放..)

.chat add 关键词 回复   # 添加一条回复
.chat del 关键词 回复   # 删除一条回复
.chat list              # 列出所有回复
.chat what              # 查看上一条触发的回复
.chat clr              # 清空所有回复 (真的会不见的! 请慎重!)

bot

(仅用于群聊)

.bot on
.bot off

bot的控制.. 目前只能控制on和off..

gset

(仅用于私聊)

.gset [群号] ... # 后续参数参见.set

修改指定群里的属性(主要是避免属性多了刷屏..) .set的说明 群属性和全局属性

一些说明

关于属性和name

属性默认会存在数据库中.. bot会保存一套全局的属性, 以及各群会保存一套属性. (就是每个群用不同的卡.. 然后还有一套私聊的卡..) 在私聊中使用.set会修改全局的属性, 在群聊中使用.set会修改该群的属性. (P.S. 想在私聊中修改某群的属性请使用 .gset)

name属性

在很多情况下, bot会需要使用用户的名字. 此时的优先级递减如下:

  1. 群聊中保存的name属性 (如果在群聊中的话)
  2. 全局的name属性
  3. 用户昵称

关于一些可选参数

.sc .en .rc中, 我们说过可以在参数中给出当前的属性值.

  • 当给出属性值时, 会使用当前的属性值进行判定. 如果值发生了变化, 也不会保存到数据库.
  • 当不给出属性值时, 会使用数据库中保存的属性值进行判定(私聊用全局, 群聊用当前群的属性); 如果发生修改, 会直接将修改后的值保存到数据库.

别的什么

  • 由于chat功能的存在, 不适合和其他有相似功能的骰娘百合营业一起使用w (可能会导致俩人聊起来滔滔不绝w)
  • jrrp的结果仅供参考

其他

欢迎一切意见 建议 bug反馈 PR 等..

一定会认真听取, 但不一定会采纳.

可以直接在github提issue.. 或者email: [email protected] (几乎不看) 或者QQ: 974011935 (想获取.chat的使用权限可以联系Master..)

About

A TRPG dice bot of coc-7th on coolq

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published