基于 Nonebot2 开发,实现多平台适配和多Bot管理的,非常可爱的绪山真寻Bot
Go to file
2021-05-20 18:37:51 +08:00
configs first_commit .gitignore 2021-05-20 18:37:51 +08:00
data first_commit .gitignore 2021-05-20 18:37:51 +08:00
docs Add files via upload 2021-05-20 13:02:26 +08:00
models first_commit .gitignore 2021-05-20 18:37:51 +08:00
plugins first_commit .gitignore 2021-05-20 18:37:51 +08:00
resources first_commit .gitignore 2021-05-20 18:37:51 +08:00
services first_commit .gitignore 2021-05-20 18:37:51 +08:00
util first_commit .gitignore 2021-05-20 18:37:51 +08:00
.env first_commit .gitignore 2021-05-20 18:37:51 +08:00
.env.dev first_commit .gitignore 2021-05-20 18:37:51 +08:00
bot.py first_commit .gitignore 2021-05-20 18:37:51 +08:00
LICENSE Create LICENSE 2021-05-20 17:00:17 +08:00
README.md Update README.md 2021-05-20 16:46:07 +08:00

maven maven maven

绪山真寻Bot


此项目基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库的QQ群娱乐机器人

关于

用爱发电,某些功能学习借鉴了大佬们的代码,因为绪山真寻实在太可爱了因此开发了 绪山真寻bot实现了一些对群友的娱乐功能和实用功能大概

如果该项目的图片等等侵犯豆腐猫老师权益请联系我删除!

声明

此项目仅用于学习交流,请勿用于非法用途

真寻的帮助

请对真寻说: '真寻帮助' or '管理员帮助' or '超级用户帮助' or '对应指令 帮助'

功能列表

已实现的功能

已实现的常用功能

  • 昵称系统(群与群与私聊分开.

  • 图灵AI会把'你'等关键字替换为你的昵称),且带有 AnimeThesaurus,够味

  • 签到/我的签到/好感度排行(影响色图概率和开箱次数,支持配置)

  • 发送某文件夹下的随机图片(支持自定义,默认:美图,萝莉,壁纸)

  • 色图(可配置是否存储到本地,并会判断该色图是否已在本地,存在则跳过)

  • coser

  • 黑白草图生成器

  • 鸡汤/语录

  • 骂我(钉宫语音)

  • 戳一戳(概率发送美图,钉宫语音或者戳回去)

  • 模拟开箱/我的开箱/群开箱统计/我的金色/设置cookiecsgo内置爬虫脚本需要提前抓取数据和图片需要session可能需要代理阿里云服务器等ip也许已经被ban了我无代理访问失败如果访问太多账号API调用可能被禁止访问api

  • 鲁迅说过

  • 构造假消息(自定义的分享链接)

  • 商店/我的金币/购买道具/使用道具

  • 原神/明日方舟/赛马娘的抽卡【原神抽卡设置小保底与大保底/重置原神抽卡次数】根据bwiki自动更新

  • 骰子娘nb2商店插件

  • 我有一个朋友想问问..pcrbot插件..重构)

  • 原神黄历

  • 原神今日素材/天赋材料

  • 原神资源查询

  • pil对图片的一些操作

  • BUFF饰品底价查询需要session

  • 天气查询

  • 疫情查询

  • bt搜索

  • reimu搜索上车

  • 靠图识番

  • 以图搜图

  • 搜番

  • 点歌

  • epic免费游戏

  • p站排行榜可含参数

  • p站搜图可含参数

  • 翻译(日英韩)

  • 群内csgo服务器如果没有csgo服务器请删除

  • 查看当前群欢迎消息

  • 查看该群自己的权限

  • 我的信息(只是为了看看什么时候入群)

  • 更新信息(如果继续更新的话)

  • go-cqhttp最新版下载和上传不需要请删除

  • 滴滴滴-(用户对超级用户发送消息)

已实现的管理员功能

  • 更新群组成员信息
  • 95%的群功能开关
  • 查看群内被动技能状态
  • 自定义群欢迎消息(是真寻的不是管家的!)
  • .ban/.unban支持设置ban时长
  • 刷屏禁言相关:刷屏检测设置/设置禁言时长/设置检测次数
  • 上传图片 (上传图片至指定图库)
  • 移动图片 (同上)
  • 删除图片 (同上)

已实现的超级用户功能

  • 添加/删除管理
  • 开启/关闭指定群的广播通知
  • 广播
  • 自检(检查系统状态)
  • 所有群组/所有好友
  • 退出指定群
  • 更新好友信息/更新群信息
  • /t对用户进行回复或发送消息

已实现的被动技能

  • 进群欢迎消息
  • 群早晚安
  • 每日开箱重置提醒
  • b站转发解析解析b站分享信息
  • 丢人爬(爬表情包)
  • epic通知每日发送epic免费游戏链接
  • 原神黄历提醒
  • 复读

已实现的看不见的技能!

  • 刷屏禁言检测
  • 功能调用统计
  • 检测恶意触发命令将被最高权限ban掉30分钟只有最高权限(9级)可以进行unban
  • 自动同意好友请求,加群请求将会提醒管理员,退群提示,加群欢迎等等
  • 群聊时间检测当群聊最后一人发言时间大于当前36小时后将关闭该群所有通知即被动技能
  • 支持对各个管理员功能的权限配置
  • 群管理员监控,自动为新晋管理员增加权限,为失去群管理员的用户删除权限

部分功能展示

部分功能展示及说明

帮助以及开关(功能控制)

群帮助将会在功能左侧展示该功能的开关,带有√或×的功能代表可以开关
此插件使用 nonebot_plugin_manager 并魔改一点实现


如果你希望某功能暂时停用
私聊发送 npm block xx xx=功能名)来锁定
使用npm unblock xx 进行解锁

签到

普普通通的签到,设置影响开箱次数和涩图触发成功的概率(可配置)
开箱次数 = 初始开箱数量 + 好感度 / 3
金币 = random.randint(100) + random.randint(好感度)【好感度获取的金币不会超过200】

黑白草图

整活生成器(从未设想的道路)

发送文件夹下随机图片

提供了 美图589获取该图库下文件名589.jpg的图片方法图库内图片名称需要有序如:0.jpg,1.jpg....

开箱csgo模拟开箱

我的开箱/群开箱统计/我的金色 功能是对开箱数据的统计展示

目前支持的武器箱(数据已备好):

  • 狂牙大行动武器箱
  • 突围大行动武器箱
  • 命悬一线武器箱
  • 裂空武器箱
  • 光谱武器箱
    BUFF账号可能会因为短时间内访问api次数过多被禁止访问api 如果是第一次启动请先使用命令 “更新价格”, “更新图片” 需要配置cookie如果经常超时请设置代理配置文件中的 buff_proxy!
    如果需要配置新的箱子,请在.config.py中配置好该箱子中的皮肤且列表名是箱子名称的大写拼音
    示例:光谱武器箱 GUANGPU_CASE_KNIFE,GUANGPU_CASE_RED...后面的颜色代表皮肤品质

BUFF皮肤底价查询

需要配置cookie
如果经常超时请设置代理,配置文件中的 buff_proxy!

coser

鸡汤/语录

骂我

鲁迅说

此插件使用 nonebot2_luxun_says

假消息

商店系统

商店内的道具支持自定义,但需要写触发后的效果...整不出活,到头来也就增加好感度概率的商品

昵称系统

养成方法第一步让可爱的小真寻叫自己昵称替换ai中的'你'等等)

抽卡(原神/明日方舟/赛马娘)

已经上传至nb2商店不再放图片了项目地址nonebot_plugin_gamedraw

我有一个朋友...

使用大佬的插件 cappuccilo_plugins

原神黄历/今日素材/丘丘语翻译/地图资源查询

使用大佬的插件 Genshin_Impact_bot

对图片的操作

只是一些简单对图片操作(娱乐整活)

识番

使用大佬的插件 XUN_Langskip

识图

使用nb2商店插件 nonebot_plugin_cocdicer (可配置图片返回的最大数量)

epic免费游戏

访问rsshub获取数据解析
可以不玩,不能没有

P站排行/搜图

访问rsshub获取数据解析
自己试试吧(# #

翻译

自定义群欢迎消息

关键字 [at] 判断是否艾特入群用户

查看当前群欢迎消息

自检

.ban/.unban

查看被动技能(被动技能除复读外都提供了开关)

自我介绍

只是一段简单自我介绍,但是,还是想放上来

我的信息/我的权限


其他

点歌:使用 nonebot_plugin_songpicker2 插件
骰子娘:使用 nonebot_plugin_cocdicer 插件

其他功能请自己试一试

Todo

  • 提供更多对插件的控制
  • 明日方舟卡片式的签到..(大概)
  • 更多的群管理功能

部署

# 获取代码
git clone https://github.com/Angel-Hair/XUN_Bot.git

# 安装依赖
pip install -r requirements.txt

# 进入目录
cd zhenxun_bot

# 进行基础配置
####请查看 配置 部分####

# 开始运行
python bot.py

配置

在 ./configs/config.py 中默认为True

# 是否使用配置文件为True时这将会生成三份配置文件
                 ./config.json主要配置
                 ./configs/plugins2cmd_config.json: 功能模块与对应命令配置
                 ./configs/other_config.json: 一些插件配置)
                 
USE_CONFIG_FILE = True

# 如果不使用配置文件将USE_CONFIG_FILE设置为False可在./configs/config.py文件中修改配置在./configs/path_config.py修改资源路径
# 已在./configs/config.py和./configs/path_config.py中为各个配置提供注解

配置文件注解(如果使用配置文件的话)

配置文件注解 ./config.json
{
    # 必填(影响功能运行)
    "apikey": {
        "LOLICON_KEY": "",      # loliconAPI缺失会导致色图功能异常
        "TL_KEY": []            # 图灵Key为什么要用列表因为白嫖用户能拿5个apikey每个apikey每日限制100条
    },
    
    # (必填!!!)
    # 数据库配置如果填写了bind后面就不用再填了)只是帮你拼接好)
    # 示例:"bind": "postgresql://user:password@127.0.0.1:5432/database"
    "sql": {
        "bind": "",
        "sql_name": "",
        "user": "",
        "password": "",
        "address": "",
        "port": "",
        "database": ""
    },
    
    # 路径设置(不填则使用默认)
    "path": {
        "IMAGE_PATH": "",   # 图片路径
        "VOICE_PATH": "",   # 音频路径
        "TXT_PATH": "",     # 文本路径
        "LOG_PATH": "",     # 日志路径
        "DATA_PATH": "",    # 数据路径
        "DRAW_PATH": ""     # 抽卡数据路径
        "TEMP_PATH": ""     # 临时图片路径
    },
    
    # 代理设置
    "proxy": {
        "system_proxy": "",     # 系统代理
        "buff_proxy": ""        # buff代理
    },
    
    # RSSHUB地址
    "rsshub": {
        "RSSHUBAPP": "https:\/\/docs.rsshub.app\/"
    },
    
    # 各个管理员功能 对应的 权限
    "level": {
        "DELETE_IMG_LEVEL": 7,
        "MOVE_IMG_LEVEL": 7,
        "UPLOAD_LEVEL": 6,
        "BAN_LEVEL": 5,
        "OC_LEVEL": 2,
        "MUTE_LEVEL": 5
    }
}

./configs/plugins2cmd_config.json

# 单个例子注解
"send_img": [
            "发送图片",
            "萝莉",
            "美图",
            "壁纸"
        ]
# 发送 关闭发送图片/关闭萝莉/关闭美图/关闭壁纸 都将触发命令 关闭send_img

./configs/other_config.json

{
    "base": {
        # 图库配置,会影响 上传/删除/移动/发送图片等功能
        "IMAGE_DIR_LIST": [
            "色图",
            "美图",
            "萝莉",
            "壁纸"
        ],
        "BAN_RESULT": "才不会给你发消息."   # 当被ban用户触发命令后发送的消息
    },
    
    "bool": {
        "AUTO_ADD_FRIEND": true,    # 是否自动添加好友
        "DOWNLOAD_SETU": true       # 是否下载bot发送过的色图不会重复
    },
    
    "max_count": {
        "MAXINFO_REIMU": 7,           # 上车(reimu)功能查找目的地的最大数
        "COUNT_PER_DAY_REIMU": 5,     # 每日上车(reimu)次数限制
        "MAXINFO_BT": 10,             # bt功能单次查找最大数
        "MAXINFO_PRIVATE_ANIME": 20,  # 私聊搜索动漫返回的最大数量
        "MAXINFO_GROUP_ANIME": 5,     # 群搜索动漫返回的最大数量
        "MAX_FIND_IMG_COUNT": 3,      # 识图最大返回数
        "MAX_SIGN_GOLD": 200          # 签到好感度加成额外获得的最大金币数
    },
    
    "probability": {
        "INITIAL_SETU_PROBABILITY": 0.7,    # 涩图触发的基础概率(触发概率 = 基础概率 + 好感度)
        "FUDU_PROBABILITY": 0.7             # 复读概率
    },
    
    # 注:即在 MALICIOUS_CHECK_TIME 时间内触发相同命令 MALICIOUS_BAN_COUNT 将被ban MALICIOUS_BAN_TIME 分钟
    "malicious_ban": {
        "MALICIOUS_BAN_TIME": 30,       # 恶意触发命令被ban的时长分钟
        "MALICIOUS_BAN_COUNT": 4,       # 恶意触发命令的规定次数
        "MALICIOUS_CHECK_TIME": 5       # 恶意触发命令的规定时间(秒)
    },
    "open_case": {
        "INITIAL_OPEN_CASE_COUNT": 20   # 每日开箱的基本数量(总数量=基本数量 + 好感度/3
    },
    
    # 注:即在 MUTE_DEFAULT_TIME 内发送相似(包含)消息超过 MUTE_DEFAULT_COUNT 将会被 MUTE_DEFAULT_DURATION 分钟
    # 这只是默认配置,各个群可以自由设置群内刷屏检测配置
    "mute": {
        "MUTE_DEFAULT_COUNT": 10,       # 刷屏检测默认检测最大次数
        "MUTE_DEFAULT_TIME": 7,         # 刷屏检测默认规定时间(秒)
        "MUTE_DEFAULT_DURATION": 10     # 刷屏检测默认禁言时长(分钟)
    },
    "other": {
        "UPDATE_GOCQ_GROUP": [],      # 是否需要为某些群上传最新版的gocq
        "ADMIN_DEFAULT_AUTH": 5       # 默认群管理员权限
    },
    
    # 管理员功能 和 对应的 权限
    "auth": {
        "admin_plugins_auth": {
            "admin_bot_manage": 2,
            "ban": 5,
            "delete_img": 7,
            "move_img": 7,
            "upload_img": 6,
            "admin_help": 1,
            "mute": 5
        }
    }
}

感谢

Onebot
go-cqhttp
nonebot2
XUN_Langskip
cappuccilo_plugins
nonebot_plugin_cocdicer
nonebot_plugin_songpicker2
nonebot_plugin_manager
Genshin_Impact_bot
nonebot2_luxun_says
AnimeThesaurus