Skip to main content
AgnesDigitalLogo

NoneBotPluginText

nonebot_plugin_l4d2_server 1.3.0

✨Nonebot & Left 4 Dead 2 server 操作 ✨

文档   ·   指令列表   ·   常见问题

python l4logo NoneBot python
ruff black NoneBot GitHub issues pypi download
QQ Chat Group

功能

  • l4d2帮助 帮助指令

自定义服务器

  • 在 json 文件设置的前缀指令,例如设置"云",则指令 云 输出组服务器,云 1 输出 1 号服务器

SourceBans++

  • 通过 SourceBans++ 获取服务器的 ban 信息,自动导入ip

配置管理

  • l4 图片开启/关闭 超管指令 可以修改输出单图是否为图片输出
  • l4 查找用户 在已知服务器中查找
  • l4 工坊下载 提供创意工坊 id 下载到服务器和群聊

自定义服务器列表背景图片

/云 等组查询输出的服务器列表(HTML)图支持自定义背景。/云1 这类具体服查询不受影响,固定使用深蓝灰纯色背景。

<l4_path>/custom_backgrounds/   ← 放任意张图即可;插件会随机抽一张

<l4_path> 默认为 data/L4D2(即 <l4_path>/custom_backgrounds/ = data/L4D2/custom_backgrounds/);如要换位置,在 .env 里改:

L4_PATH=/path/to/your/data

使用步骤:

  1. 找到 <l4_path>/custom_backgrounds/(默认 data/L4D2/custom_backgrounds/,与 云.json 等组文件同级);
  2. 把你想要的背景图放入该目录,支持 .jpg / .jpeg / .png 格式,可放多张;
  3. 完成。下一次查询即会使用新背景。

目录会在插件启动时自动创建,无需手动建。

查找顺序:

  • /云(服务器列表):从 <l4_path>/custom_backgrounds/ 所有图片中随机抽一张;目录为空时回退到内置 background.jpg
  • /云1(单服务器卡):固定使用深蓝灰纯色背景(#496D89),不加载任何图片

选择规则:

  • 目录中有多张图时,每次查询随机抽取一张;
  • 想只用某张图,把其余图片删掉或移走;
  • 替换同名图片会按文件修改时间自动重新加载,无需重启;
  • 建议尺寸:宽幅横图(如 1920×1080),列表图会按高度铺满并横向平铺。

安装

以下提到的方法 任选其一 即可

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

主要功能

  • 求生服务器-本地多路径操作(传地图等)
  • 批量查询指定 ip 服务器状态和玩家
  • connect 指令直接呼出服务器信息
  • 根据用户名,在已知服务器搜索玩家信息

数据结构

服务器组文件存放位置:<l4_path>/<组名>.json(默认 data/L4D2/<组名>.json),旧版 <l4_path>/l4d2/ 子目录会在启动时自动迁移。

所有数据路径(组文件、sb_pages、自定义背景图、迁移脚本)都跟着 l4_path 配置走,CWD 在哪都无所谓。改 l4_path 一处生效。

env 设置

    l4_enable = True
    """是否全局启用求生功能"""
    l4_image = False
    """是否启用图片"""
    l4_connect = True
    """是否在查服命令后加入connect ip"""
    l4_path = "data/L4D2"
    """插件数据根目录。组 JSON / sb_pages / 自定义背景图 / 迁移脚本都从这里派生。"""
    l4_players = 4
    """查询总图的时候展示的用户数量"""
    l4_style = "default"
    """图片风格,可选包括以下
    - 简洁

和 0.x.x 更改部分

  • 服务器组指令(云、云1 等)规则层拒绝非数字后缀:之前输入 云云 会被解析为「组 云 + args=云」然后静默退出,现在直接在 nonebot 规则层拒绝,不会进入 handler,也不会被本插件拦截后续处理。云1 / 云12 仍正常触发单服查询;
  • 单服务器查询(云1)合并图片与 connect host:port 文本:图片和 connect host:port 文本作为一条合并消息发出(受 l4_connect 配置控制),方便直接点链接加入服务器;
  • 单服务器卡(云1)长内容自动换行:服务器名、地图名、connect IP 等超出 380px 卡片宽度时,会按像素宽度自动换行展示,图片高度随行数自动撑高;
  • 服务器列表(云)地图名溢出处理:.map-name CSS 增加 text-overflow: ellipsis,超长地图名以省略号截断,不再撑破卡片;
  • 查服背景图按渲染类型拆分目录(后续调整):/云(服务器列表)从 <l4_path>/custom_backgrounds/ 根目录的所有图片中随机抽一张,目录为空时回退到内置 background.jpg;/云1(单服务器卡)固定使用深蓝灰纯色,不加载任何图片。详见「自定义服务器列表背景图片」;
  • 数据路径统一从 l4_path 派生:组文件、sb_pages、自定义背景图、迁移脚本都跟着 l4_path 配置走,不再各自写死相对路径。.env 里改 L4_PATH 一处即生效,不用再管 bot 启动 CWD。

其他

  • anne 部分,已移植到这里,通过 core 插件调用
  • 如果您有发现 BUG 或者更好的建议,欢迎提 Issue & Pr
  • 如果本插件对你有帮助,不要忘了点个 Star~
  • 本项目仅供学习使用,请勿用于商业用途
  • 更新日志
  • GPL-3.0 License ©@Agnes4m

🌐 感谢

  • nonebot2- 聊天机器人的基础框架

  • 饼干 - 指导 nonebot2 框架的函数使用

  • wuyi - 指导 pil 作图

  • 感谢以下服主大力支持

    • Michaela's | 机器人功能测试反馈
    • 东 | 提供 docker 部署方法等建议 | 电信服 anne 游戏群
    • 迷茫 | 催命更新 byd
    • ArcPav | 积极反馈 bug,提供改进思路

Metadata

Release files for nonebot-plugin-l4d2-server 1.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nonebot-plugin-l4d2-server 1.3.5
File Size Uploaded
nonebot_plugin_l4d2_server-1.3.5.tar.gz 8.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nonebot-plugin-l4d2-server 1.3.5
File Interpreter ABI Platform
nonebot_plugin_l4d2_server-1.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 16.3 MB

Release files / nonebot_plugin_l4d2_server-1.3.5.tar.gz

Download URL nonebot_plugin_l4d2_server-1.3.5.tar.gz
Size 8.1 MB
Tags Source
SHA-256 checksum
How to use checksums
d4198c8e905ce281d980a476cd696807ac9aebf776664d66e7cdd9dc9f7f2ee4
BLAKE2b-256 checksum
How to use checksums
87225ef0760bde4b9c584e8cd61ca84915656d45a2e5ded3af549ed9f6af6a03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / nonebot_plugin_l4d2_server-1.3.5-py3-none-any.whl

Download URL nonebot_plugin_l4d2_server-1.3.5-py3-none-any.whl
Size 8.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
67b2e6a40b170831fc0963b8d430f9b0dc337781c5b3ade740526d79405e11e4
BLAKE2b-256 checksum
How to use checksums
aee87098679dd7b37ae947c0f9853f4c399dd0098aec337850a77dbb1660cc3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.4.0

2 release files

This release

1.3.5 This release

2 release files

1.3.1

2 release files

1.2.0

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page