nobebot2面包店插件
Project description
nonebot-plugin-bread-shop
⚠️警告须知!
本插件不适宜用于群人员较多的群,经过测试,本功能具有极大上瘾性,容易造成bot刷屏,影响正常聊天!
📄介绍
面包小游戏,用户可以通过“买”,“吃”,“抢”,“送”,”猜拳“操作来获取面包和使用面包。
将会记录所有用户的面包数据进行排行
所有的操作都可能产生特殊面包事件哦!
一起来买面包吧!
注:面包数据库一个群一个,排行均属于群内排行,不同群所有数据不相干。
💿安装
- 使用 nb-cli
nb plugin install nonebot-plugin-bread-shop
- 使用 pip
pip install nonebot-plugin-bread-shop
🤔使用
| 指令 | 说明 | 其它形式 |
|---|---|---|
| 买面包 | 购买随机数量面包 | buy,🍞 |
| 啃面包 | 吃随机数量面包 | eat,🍞🍞,吃面包 |
| 抢面包 + @指定用户 | 抢指定用户随机数量面包 | rob,🍞🍞🍞 |
| 送面包 + @指定用户 | 送指定用户随机数量面包 | give,送 |
| 查看面包 + @指定用户 | 查看指定用户的面包数据 | check,偷看面包,查看面包 |
| 面包记录 + @指定用户 | 查看指定用户的操作次数 | logb,记录 |
| 面包记录 + “买吃抢赠送猜拳” | 查看操作次数最多的人 | logb,记录 |
| 赌面包 + “石头剪刀布” | 和bot进行猜拳赌随机数量面包 | bet,面包猜拳 |
| 面包帮助 | 送指定用户随机数量面包 | breadhelp,helpb |
| 面包排行 | 发送面包店操作指南 | breadtop,面包排名 |
⚙️自定义配置
配置方式:请在 NoneBot 全局配置文件中添加以下配置项即可。
参数说明:
bread_thing:可修改默认的“面包”改为其他物品例如: “炸鸡”,“蛋糕”等等(全局)
special_thing_group :分群设置物品例如:{"群号": "炸鸡"}
可设置主次词,主次物品词bot将以主物品词进行回复,次物品词只用于触发指令,主关键词为列表第一个元素,次关键词可多个 示例:{"群号": ["炸鸡", "面包", "蛋糕"]}
global_bread:面包全局开关
black_bread_groups:黑名单
white_bread_groups:白名单
level_bread_num:修改升级一级所需要吃的面包数量,默认为10
(注意:等级不被数据库记录数据库只记录已经吃了的数量,修改该值会使用户等级变化,变化可逆)
cd_buy,cd_eat,cd_rob,cd_give,cd_bet:操作冷却(单位:秒)
max_buy,max_eat,max_rob,max_give,max_bet:操作随机值上限
min_buy,min_eat,min_rob,min_give,min_bet:操作随机值下限
is_random_give,is_random_eat等:设置是否操作值都由随机值决定(全局)
(注意:改为False之后用户可以通过 "操作名 + @ + 数量" 或 "操作名 + 数量" 达到效果)
special_操作名_group:设置特别处理的群 (示例: {"群号": bool})
详情请见config.py文件
🍞自定义事件
在bread_event.py中可以编写特殊事件!
可以在issue中提供你的点子!
特殊事件模板:
group_id_list默认为全部群聊
priority默认为5,数字越低越优先,优先级相同的事件先后顺序每次随机
@probability(概率, Action.操作, priority=优先级, group_id_list=["群号1", "群号2"])
def 函数名(event: 操作):
# event.user_data 可以查看操作的用户的面包数据
# event.user_id 可以获取操作的用户的id(qq)
# event.user_id 可以获取操作的用户的id(qq)
# event.bread_db.reduce_bread(event.user_id, eat_num) 减少用户面包数量
# event.bread_db.reduce_bread(event.user_id, eat_num) 增加用户面包数量
# event.bread_db.add_bread(event.user_id, eat_num, "BREAD_EATEN") 增加用户面包食用量
# event.bread_db.update_no(event.user_id) 更新用户排名
# event.bread_db.ban_user_action(event.user_id, Action.EAT, 1800) 禁止用户操作
# event.bread_db.cd_refresh(event.user_id, Action.EAT) 刷新用户CD
# event.bread_db.update_cd_stamp(event.user_id, Action.GIVE) 重置用户CD
# 等等见源码
return append_text # 返回回答,由bot发送
特殊事件示例:
@probability(0.1, Action.EAT, priority=5)
def eat_event_much(event: EatEvent):
if event.user_data.bread_num <= MAX.EAT.value:
return
eat_num = random.randint(MAX.EAT.value, min(MAX.EAT.value * 2, event.user_data.bread_num))
event.bread_db.reduce_bread(event.user_id, eat_num)
event.bread_db.add_bread(event.user_id, eat_num, "BREAD_EATEN")
append_text = f"成功吃掉了{eat_num}个面包w!吃太多啦,撑死了,下次吃多等30分钟!"
event.bread_db.update_no(event.user_id)
event.bread_db.ban_user_action(event.user_id, Action.EAT, 1800)
return append_text
若想要设置买面包打烊时间如:
@probability(1, Action.EAT, priority=1, group_id_list=["群号1", "群号2"])
def closing_time(event: EatEvent):
if 判断时间:
event.bread_db.reduce_user_log(event.user_id, Action.EAT) # 防止记录
return "打烊"
其他注意点:
event.normal_event()为事件正常进行全流程并返回原来的话。
例如:
@probability(0.1, Action.BET, priority=5)
def bet_event_addiction(event: BetEvent):
append_text = event.normal_event()
append_text += " 有点上瘾,你想再来一把!"
event.bread_db.cd_refresh(event.user_id, Action.BET)
return append_text
return None 相当于事件不触发,返回任何字符串都认定为事件触发
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot-plugin-bread-shop-0.1.10.tar.gz.
File metadata
- Download URL: nonebot-plugin-bread-shop-0.1.10.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5654c832d512482aa6e00c9e6371719ad8d07d3d9b42e25ac27bae304df4c25d
|
|
| MD5 |
1aeaf8978c9e6a5ef25aca03fc3fdcd0
|
|
| BLAKE2b-256 |
3c8f14e25c58c4bf09058b9c86bfacb17b52726fe9ebf42946049c890931cd21
|
File details
Details for the file nonebot_plugin_bread_shop-0.1.10-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_bread_shop-0.1.10-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad985213dfdedf4529ce39d40693b2c48a6b5df1f8986a9888a580c314847db7
|
|
| MD5 |
6d855a0e90282639a56aa95c9d901088
|
|
| BLAKE2b-256 |
73c31a21736e217475d606bd61a1877dd8fe0ba000eb4992ca8f13b05f38e2b9
|