Skip to main content

适用于 QQ 群聊的群友市场经济小游戏,包含打工、购买群友、训练、决斗、银行、排行榜、每日任务、等级、成就、防刷屏等玩法。

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-group-market

✨ 适用于 QQ 群聊的群友市场经济小游戏 ✨

license pypi python

适用于 QQ 群聊 的 NoneBot2 群友市场经济小游戏,包含打工、购买群友、训练、决斗、银行、排行榜、每日任务、等级、成就、防刷屏等玩法。

从 Yunzai-Bot V3 插件 Slave-Market 移植并大幅扩展而来。

[!NOTE] 本仓库自带了一个发布工作流,你可以使用此工作流自动发布你的插件到 PyPI

配置发布工作流
  1. 前往 https://pypi.org/manage/account/#api-tokens 并创建一个新的 API 令牌。创建成功后不要关闭页面,不然你将无法再次查看此令牌。
  2. 在单独的浏览器选项卡或窗口中,打开 Actions secrets and variables 页面。你也可以在 Settings - Secrets and variables - Actions 中找到此页面。
  3. 点击 New repository secret 按钮,创建一个名为 PYPI_API_TOKEN 的新令牌,并从第一步复制粘贴令牌。

[!IMPORTANT] 这个发布工作流需要 pyproject.toml 文件,并且只支持 PEP 621 标准的 pyproject.toml 文件

触发发布工作流 从本地推送任意 tag 即可触发。

创建 tag:

git tag <tag_name>

推送本地所有 tag:

git push origin --tags

📖 介绍

群友市场 是一个适用于 QQ 群聊的 NoneBot2 文字游戏插件。玩家可以在群内通过打工赚取金币,购买其他群友作为"奴隶"(游戏内称呼),训练、决斗奴隶,参与排位赛,使用银行系统存取金币赚取利息。

v0.2.0 新增了签到、等级、成就、每日任务、道具商店、随机事件、称号、悬赏、赛季等扩展玩法。

v0.3.0 新增了多层防刷屏系统,包括用户级冷却、群全局冷却、洪水保护、安静模式等,让游戏更适合长期运行。

v0.3.7+ 新增 BOT 陪玩系统:当群内玩家较少时,BOT 可以像虚拟玩家一样参与游戏,打工、购买群友、训练、挑战等,让游戏不再无聊。

💿 安装

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行,输入以下指令即可安装
nb plugin install nonebot-plugin-group-market
使用包管理器安装 在 nonebot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令
pip
pip install nonebot-plugin-group-market
pdm
pdm add nonebot-plugin-group-market
poetry
poetry add nonebot-plugin-group-market
conda
conda install nonebot-plugin-group-market

打开 nonebot2 项目根目录下的 pyproject.toml 文件,在 [tool.nonebot] 部分追加写入

plugins = ["nonebot_plugin_group_market"]

⚙️ 配置

在 nonebot2 项目的 .env 文件中添加下表中的配置

配置项 必填 默认值 说明
slavemarket__work__cooldown 3600 打工冷却时间(秒)
slavemarket__purchase__cooldown 3600 购买冷却时间(秒)
slavemarket__training__cooldown 7200 训练冷却时间(秒)
slavemarket__arena__cooldown 7200 决斗冷却时间(秒)
slavemarket__bank__initialLimit 1000 银行初始存款限额
slavemarket__weeklyReset__enabled true 是否启用每周重置
slavemarket__antiSpam__enabled true 是否启用防刷屏
slavemarket__antiSpam__quietMode__enabled true 是否启用安静模式
slavemarket__antiSpam__groupFloodProtection__windowSeconds 60 洪水保护统计窗口(秒)
slavemarket__antiSpam__groupFloodProtection__maxCommands 20 窗口内最大命令数
slavemarket__antiSpam__groupFloodProtection__lockSeconds 300 洪水锁定持续时间(秒)
slavemarket__botPlay__actionProbability 0.15 BOT自动行动触发概率(0-1)
slavemarket__botPlay__actionCooldown 600 BOT每次行动冷却(秒)
slavemarket__botPlay__dailyActionLimit 20 BOT每日最大行动次数
slavemarket__botPlay__summonCooldown 1800 手动召唤BOT冷却(秒)
slavemarket__botPlay__allowAttack false BOT是否可主动挑战玩家
slavemarket__botPlay__messageMode simple BOT消息模式(simple/detail)
slavemarket__botPlay__strategy random BOT默认策略
slavemarket__ignoreCDUsers [] 忽略冷却的用户 QQ 号列表(逗号分隔),这些人玩游戏不触发冷却

BOT 陪玩系统

当群内玩家较少时,BOT 可以作为虚拟玩家参与游戏,打工、购买群友、训练、决斗等,让游戏保持活力。

默认关闭,需要群管理员手动开启:

/开启陪玩

BOT 策略类型(5种):

  • 保守型:优先打工攒钱,低频购买,少挑战
  • 资本型:喜欢买群友、囤资产,钱够就买
  • 好战型:喜欢训练和决斗,主动挑战概率更高
  • 记仇型:平时保守,但被玩家攻击/抢后会反击
  • 随机型:行为不可预测

防刷机制:

  • BOT 有独立的行动冷却(默认10分钟)
  • BOT 每日最大行动次数限制(默认20次)
  • 手动召唤有冷却(默认30分钟)
  • BOT 主动挑战玩家默认关闭
  • BOT 自动行动概率默认15%

示例群消息:

🤖 【市场老板娘】偷偷去打工,赚到了 350 金币,现在钱包有 1250 金币 | 资产: 市场可不会等人类慢慢发育。

管理员权限

本插件的管理命令(如 /开启安静模式/关闭防刷屏/设置打工冷却/开启陪玩 等)仅对 群管理员/群主/SUPERUSER 开放。

.env 中配置:

SUPERUSERS=["你的QQ号"]

支持多个:

SUPERUSERS=["123456789", "987654321"]

⚠️ BOT 陪玩的管理命令(开启/关闭/设置/重置)需要群管理员或 SUPERUSER 权限。

冷却白名单

如果只想让某些朋友跳过冷却(不给他们管理权限),可以配置:

slavemarket__ignoreCDUsers=["QQ号1", "QQ号2"]

这些人玩游戏不会触发任何冷却,但也不能使用管理命令。

🎉 使用

指令表

指令 权限 需要@ 范围 说明
/奴隶帮助 群员 群聊 查看帮助
/打工 群员 群聊 赚取金币(冷却20分钟)
/购买群友 @用户 群员 群聊 购买群友(冷却30分钟)
/我的奴隶 群员 群聊 查看自己的奴隶
/训练 @用户 群员 群聊 训练奴隶(冷却45分钟)
/决斗 @用户1 @用户2 群员 群聊 奴隶决斗(冷却30分钟)
/排位赛 群员 群聊 查看排位信息
/参加排位赛 @用户 群员 群聊 参加排位(冷却30分钟)
/存款 数量 群员 群聊 银行存款
/取款 数量 群员 群聊 银行取款
/升级信用 群员 群聊 升级银行等级
/银行信息 群员 群聊 查看银行
/领取利息 群员 群聊 领取利息
/转账 数量 @用户 群员 群聊 向他人转账
/奴隶市场 群员 群聊 排行榜
/回购自己 群员 群聊 从主人处回购
/抢劫 @用户 群员 群聊 抢劫金币
/签到 群员 群聊 每日签到
/我的等级 群员 群聊 查看等级经验
/我的成就 群员 群聊 查看成就
/每日任务 群员 群聊 查看今日任务
/领取任务奖励 群员 群聊 领取任务奖励
/刷新任务 群员 群聊 刷新每日任务
/我的信息 群员 群聊 个人信息面板
/查看信息 @用户 群员 群聊 查看他人信息
/商店 群员 群聊 道具商店
/购买道具 道具名 群员 群聊 购买道具
/我的道具 群员 群聊 查看背包
/使用道具 道具名 群员 群聊 使用道具
/赠送道具 @用户 道具名 群员 群聊 赠送道具
/今日事件 群员 群聊 查看今日群事件
/我的称号 群员 群聊 查看称号
/佩戴称号 称号名 群员 群聊 佩戴称号
/悬赏列表 群员 群聊 查看悬赏
/发布悬赏 @用户 金额 群员 群聊 发布悬赏
/领取悬赏 @用户 群员 群聊 领取悬赏
/取消悬赏 ID 群员 群聊 取消悬赏
/赛季信息 群员 群聊 赛季信息
/赛季排行 群员 群聊 赛季排名
/赛季奖励 群员 群聊 领取赛季奖励
/历史赛季 群员 群聊 历史赛季记录
/开启陪玩 管理员 群聊 开启本群 BOT 陪玩
/关闭陪玩 管理员 群聊 关闭本群 BOT 陪玩
/陪玩状态 群员 群聊 查看 BOT 状态和资产
/召唤陪玩 群员 群聊 手动触发一次 BOT 行动
/陪玩设置 管理员 群聊 调整 BOT 参数
/重置陪玩 管理员 群聊 重置 BOT 数据
/游戏冷却状态 任何人 群聊 查看冷却状态
/开启安静模式 管理员 群聊 开启安静模式
/关闭安静模式 管理员 群聊 关闭安静模式
/开启防刷屏 管理员 群聊 启用防刷屏
/关闭防刷屏 管理员 群聊 禁用防刷屏

完整命令列表请发送 /奴隶帮助/群友市场帮助 查看。

📋 更新日志

CHANGELOG.md

📄 许可证

本项目使用 木兰宽松许可证,第2版 开源。


若从旧版 nonebot-plugin-slave-market 迁移,旧数据完全兼容,详见 PORTING_NOTES.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_group_market-0.3.8.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_group_market-0.3.8-py3-none-any.whl (91.5 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_group_market-0.3.8.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_group_market-0.3.8.tar.gz
Algorithm Hash digest
SHA256 f4787b55a759cb0ab4e22ca6e27c8c1362697743d16aab475ef5e3c7f8d0020a
MD5 9e851ed5d8e3ce44e157b079aee18fda
BLAKE2b-256 bece42d26f3aeedc6d5a72913344fda50e39e810439fe349af30ed80b890bc7b

See more details on using hashes here.

File details

Details for the file nonebot_plugin_group_market-0.3.8-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_group_market-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7dddfc1ec3b99a8859ddb398182a5be1a9faf0c157cff78213b0df29013e1b78
MD5 eea0e237dd62927c8129d670b36623ac
BLAKE2b-256 3407741c6403050b4368178368561f3217d5643265ce962ace95908834537b7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page