{"id":25507791,"url":"https://github.com/aplini/chat2qq","last_synced_at":"2026-02-06T06:03:17.540Z","repository":{"id":65355157,"uuid":"590505290","full_name":"ApliNi/Chat2QQ","owner":"ApliNi","description":"为 Chat2QQ 添加更多功能的非官方分支","archived":false,"fork":false,"pushed_at":"2026-01-29T15:34:35.000Z","size":351,"stargazers_count":23,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-30T04:33:23.373Z","etag":null,"topics":["chat2qq","command","ipacel","manage","minecraft","miraimc","plugin","server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ApliNi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-18T15:14:43.000Z","updated_at":"2026-01-29T15:34:35.000Z","dependencies_parsed_at":"2023-02-19T15:15:23.932Z","dependency_job_id":"d903d571-ced7-4ad2-8483-599800386ac3","html_url":"https://github.com/ApliNi/Chat2QQ","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/ApliNi/Chat2QQ","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FChat2QQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FChat2QQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FChat2QQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FChat2QQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ApliNi","download_url":"https://codeload.github.com/ApliNi/Chat2QQ/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FChat2QQ/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29153145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat2qq","command","ipacel","manage","minecraft","miraimc","plugin","server"],"created_at":"2025-02-19T07:41:47.147Z","updated_at":"2026-02-06T06:03:17.532Z","avatar_url":"https://github.com/ApliNi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Chat2QQ+\n\n这个插件专注于实现更好的消息显示, 并以模块的方式集成了一些其他的功能\n\n- **🚧 说明**\n  - [ApliNi/Chat2QQ](https://github.com/ApliNi/Chat2QQ) 是包含 [DreamVoid/Chat2QQ](https://github.com/DreamVoid/Chat2QQ) 几乎所有功能的插件, 经过重写并添加了许多功能.\n  - 如果你有任何想法请点击 [`Issues`](https://github.com/ApliNi/Chat2QQ/issues), 打开一个功能请求. 如果我能做到就会去实现出来.  \n  - 如果您使用默认配置, 那么还需要开启 MiraiMC 插件配置中的 `bot.contact-cache.enable-group-member-list-cache`, 才能保证软件正常运行.  \n\u003cp\u003e\u003c/p\u003e\n\n- **📦 下载**\n  - 在 [`Releases`](https://github.com/ApliNi/Chat2QQ/releases) 中下载最新的jar文件.\n  - 如果需要开发版本, 可以点击 [`Actions`](https://github.com/ApliNi/Chat2QQ/actions), 打开第一个, 找到最下面的jar文件. \n\u003cp\u003e\u003c/p\u003e\n\n- **📄 其他**\n  - 订阅更新: 点击右上角 `Watch` 按钮, 选择 `Custom` 中的 `Releases` !\n  - 使用量统计: [bStats](https://bstats.org/plugin/bukkit/ApliNi-Chat2QQ/17587)\n\u003cp\u003e\u003c/p\u003e\n\n\n\u003ca href=\"https://bstats.org/plugin/bukkit/ApliNi-Chat2QQ/17587\"\u003e![](https://bstats.org/signatures/bukkit/ApliNi-Chat2QQ.svg)\u003c/a\u003e\n\n\n\u003cbr /\u003e\n\n### 更新计划\n\n- [x] 聊天消息转发\n  - [x] 格式化\n  - [x] 多群组支持\n  - [x] 消息预处理功能\n  - [x] 多行文本和长文本显示优化\n  - [x] 引用回复显示优化\n  - [x] 群名片过滤\n  - [x] 艾特显示优化\n  - [x] 用户黑名单\n\n- [x] 事件处理\n  - [x] 玩家加入退出\n\n---\n这些功能在可配置的模块中\n\n- [x] 运行指令\n  - [x] 返回指令输出消息\n  - [x] 更好的等待指令返回\n  - [x] 权限管理\n    - [x] 继承\n  - [x] 指令黑名单\n\n- [x] 从群名片中匹配游戏名称\n\n- [x] 消息预处理\n  - [x] 匹配方式: 前缀 / 包含 / 相等 / 正则\n  - [x] 支持让匹配到的消息完全不发送\n\n- [x] 按行预处理指令的返回消息\n  - [x] 支持(匹配方式)\n\n- [x] 按合并后的完整消息预处理指令返回消息\n  - [x] 支持(匹配方式)\n  - [x] 添加一些特殊的占位符\n\n- [x] 预设的格式调整功能\n  - [x] 删除消息中的格式化字符\n  - [x] 删除消息前后空格和空行\n  - [x] 删除群名片中的格式化代码\n  - [x] 将长文本转换为鼠标悬浮显示文本\n  - [x] 更好的多行消息\n  - [x] 将聊天消息转发到控制台\n\n- [x] 引用回复优化\n  - [x] 格式化\n  - [x] 删除重复的艾特\n\n- [x] `/qchat`\n  - [x] 区分玩家运行指令和控制台运行指令\n\n- [x] 群成员信息缓存 \\[前置\\]\n  - [x] 自动更新数据\n  - [x] 支持使用外部 Mirai 的缓存文件\n\n- [x] 艾特显示优化\n\n- [x] 事件任务\n  - [x] 群成员加入\n  - [x] 群成员退出\n\n- [x] 自动回复\n  - [x] 支持(匹配方式)\n  - [x] 支持 PAPI\n\n\u003cbr /\u003e\n\n\n### ✨ 图片\n\n运行指令\n\n![image](https://user-images.githubusercontent.com/59365724/227127511-a149cc33-9683-4bd9-9640-fd938546859d.png)\n\n\n群名片过滤\n\n![image](https://user-images.githubusercontent.com/59365724/227157788-d9259da8-46e6-438e-b32b-3926a2d3a9a3.png)\n![image](https://user-images.githubusercontent.com/59365724/227157812-a0245843-66e9-44bc-8bc2-e0935ebc2d2b.png)\n\n\n特殊消息预处理\n\n![image](https://user-images.githubusercontent.com/59365724/227128189-8f217293-04e9-472d-a09e-daad7eef79f0.png)\n![image](https://user-images.githubusercontent.com/59365724/227128209-f6be73c2-efd1-4ca2-b85b-b2c2b84dad7d.png)\n\n\n多行文本和长文本显示优化\n\n![image](https://user-images.githubusercontent.com/59365724/227128013-013e0514-771e-4075-8d4d-c28557cfa126.png)\n![image](https://user-images.githubusercontent.com/59365724/227127980-628d662d-cc47-4468-9437-2e5298a6d6c3.png)\n\n![image](https://user-images.githubusercontent.com/59365724/227158659-b35ac9b3-113e-4d3d-80d7-f214c8064b02.png)\n![image](https://user-images.githubusercontent.com/59365724/227158697-45a16e51-f4b1-4f97-8296-03d4074d3efb.png)\n\n\n\n引用回复显示优化\n\n![image](https://user-images.githubusercontent.com/59365724/227128959-ff5fcdab-f09e-4ed8-bee9-08ade7cf7ef3.png)\n![image](https://user-images.githubusercontent.com/59365724/227128919-092545b6-6d38-4324-b8b8-1903cb522a05.png)\n\n![image](https://user-images.githubusercontent.com/59365724/227159155-8a731828-c929-44f8-b0c1-5f380da403cc.png)\n![image](https://user-images.githubusercontent.com/59365724/227159055-02e5cdcd-3a5e-4c20-8fda-85b0df90062a.png)\n\n![image](https://user-images.githubusercontent.com/59365724/227159023-7333b385-c687-45a4-965b-e9b066af0e6f.png)\n![image](https://user-images.githubusercontent.com/59365724/227159083-e8d6b7e7-9ba6-41e8-9562-e7a174f87be5.png)\n\n\n更好的名称显示\n\n![image](https://user-images.githubusercontent.com/59365724/227157070-c8fa51ca-b623-4167-a7ef-f02239d84aef.png)\n![image](https://user-images.githubusercontent.com/59365724/227157097-d6b226e4-2158-4b3b-a36b-db21acfeff2e.png)\n\n\n自动回复\n\n![image](https://user-images.githubusercontent.com/59365724/227129074-9a8316e1-8b8f-4abe-9e74-ad73f212f9ec.png)\n\n\n### 完整配置和功能\n```yaml\n\n# 游戏内配置\n# QQ -\u003e MC 的消息\ngeneral:\n  # 转发哪些QQ群的消息\n  group-ids:\n    - 1000000\n    - 1000001\n\n  # 群聊天前缀 (聊天需要带有指定前缀才能发送到服务器)\n  requite-special-word-prefix:\n    enabled: false\n    prefix:\n      - '#'\n\n  # 当群名片不存在时是否尝试获取昵称\n  use-nick-if-namecard-null: true\n\n  # QQ群消息广播到游戏内聊天的格式 格式化代码: §\n  # %groupname% - 群名称\n  # %groupid% - 群号\n  # %nick% - 发送者群名片\n  # %regex_nick% - 使用正则匹配到的名称, 需要开启 aplini.cleanup-name 模块\n  # %qq% - 发送者QQ号\n  # %message% - 消息内容, 支持预处理模块 aplini.pretreatment\n  # %_reply_% - 如果是回复消息..., 配置在 aplini.reply-message 模块\n  in-game-chat-format: '§f[§7%nick%§r§f] %_reply_%§7%message%'\n  # 为每个群使用不同的格式, 如果没有则使用上方的 in-game-chat-format\n  special:\n    1000000: '§f[§7主群 %nick%§r§f] %_reply_%§7%message%'\n    1000001: '§7[外群 %nick%] %_reply_%%message%'\n\n  # 启用 MiraiMC 内置的QQ绑定\n  use-miraimc-bind: false\n  # 已绑定玩家的广播消息格式\n  bind-chat-format: '§f[§7%nick%§r§f] %_reply_%§7%message%'\n  # 为每个群使用不同的格式, 如果没有则使用上方的 bind-chat-format\n  special-bind:\n    1000000: '§f[§7主群 %nick%§r§f] %_reply_%§7%message%'\n\n\n\n# 机器人配置\n# MC -\u003e QQ 的消息\nbot:\n  # 使用哪些QQ号处理消息\n  # 只能添加一个\n  bot-accounts:\n    - 2000000\n\n  # 将消息转发到那些QQ群\n  group-ids:\n    - 1000000\n\n  # 玩家在以下世界中聊天才会被转发\n  available-worlds:\n    #- world\n  # 将以上配置作为黑名单, 玩家不在以上世界中聊天才会被转发\n  available-worlds-use-as-blacklist: true\n\n  # 游戏聊天前缀 (聊天需要带有指定前缀才能发送到QQ群) \n  requite-special-word-prefix:\n    enabled: true\n    prefix:\n      - '#'\n\n  # 是否转发被其他插件取消过的聊天消息事件, 用于修复一些兼容性问题\n  ignoreCancelled: false\n\n  # 服务器消息发送到QQ群的格式\n  # %player% - 玩家名称\n  # %message% - 消息内容\n  group-chat-format: '[%player%] %message%'\n\n\n  # 是否发送玩家进出服务器的消息\n  # %player% - 玩家显示昵称\n  send-player-join-quit-message: false\n  # 加入\n  player-join-message: '%player% 进入服务器'\n  # 退出\n  player-quit-message: '%player% 离开服务器'\n  # 防刷屏, 在此时间内多次进出服务器不会发送消息 (秒\n  player-join-quit-message-interval: 0\n\n\n\n# 黑名单, 可用于添加其他QQ机器人\n# 优先级大于上方配置\nblacklist:\n  # 不转发以下QQ号的聊天消息\n  qq:\n  #- 2000001\n\n  # 不转发以下玩家名的聊天消息\n  player:\n  #- playerName\n\n\n# ############### #\n# 以下为功能模块配置 #\n# ############### #\n\naplini:\n\n  ## 1\n  # 在QQ群中运行指令 [需要单独添加QQ群]\n  # 此模块不处理黑名单 blacklist\n  run-command:\n    enabled: false\n    # 启用的 QQ群\n    qq-group:\n      - 1000001\n\n    # 指令前缀, 可以是多个字符, 比如 \"~$\"\n    command-prefix: '/'\n    # 指令最大长度 (不包括指令前缀)\n    command-max-length: 255\n    # 获取指令的正则表达式, 当第一个捕获组的内容与指令白名单中的匹配时则允许运行 (不带斜杠或前缀)\n    regex-command-main: '^([^ ]+)'\n    # 判断指令返回为空的正则, 匹配多行文本. (经过 pretreatment-command-message 处理后)\n    return-isNull: '^\\s*$'\n    # 是否将主命令转换为小写再执行\n    always-lowercase: false\n\n    # 是否发送指令的输出, 关闭可提高性能或解决一些兼容性问题\n    return: true\n    # 等待指令运行多长时间再将结果发送到QQ群 (毫秒), 需要开启 run-command.return\n    # 如果你遇到了一些提前输出类似 \"正在运行...请稍等\" 消息的插件, 可以在 pretreatment-command-message 中配置完全删除这条消息. 然后 return-sleep-min 保持不变 :)\n    return-sleep-min: 14 # 最小等待时间\n    return-sleep-max: 5346 # 最大等待时间, 如果一些长耗时指令没有输出请增大此值\n    return-sleep-sampling-interval: 172 # 输出内容检查间隔, 如果经常执行长耗时指令可以增大此值\n    # 是否将指令的输出打印到控制台和日志\n    return-log: true\n\n    # 执行不在白名单中的指令时发送返回消息\n    message-miss: '未命中的指令'\n    # 运行无返回指令的消息\n    message-no-out: '运行无返回指令'\n\n    # 设置各组可执行的主命令白名单 (不带斜杠或前缀)\n    # 权限更高的用户将可以使用更低的用户的指令\n    # 如果添加一条 ___ALL_COMMAND___ 作为指令, 则表示此组可以使用所有指令, 此功能请勿随意使用 !\n    group:\n      # permission_\u003cint\u003e 是 MiraiMC 获取到的权限数字, 以后更新了其他权限只需要以此格式添加即可使用\n      permission_2: # 群主\n        #- ___ALL_COMMAND___\n        #- chat2qq\n      permission_1: # 管理员\n        #- spark\n      permission_0: # 成员\n        #- list\n        #- tps\n\n    # 特殊指令配置\n    special:\n      no-return: # 这些指令始终不输出消息\n        #- plugins\n        #- version\n\n\n  ## 2\n  # 从 群名片(%nick%) 中匹配 MC 可用的游戏名称\n  # 添加变量: %regex_nick% - 使用正则匹配到的名称, 需要开启 cleanup-name 功能\n  cleanup-name:\n    enabled: false\n    # 程序取第一个捕获组的结果\n    regex: '([a-zA-Z0-9_]{3,16})'\n    # 如果匹配不到, 则使用以下字符串\n    # %nick% - 群名片\n    # %qq% - qq号\n    not-captured: '%nick%'\n\n\n  ## 3\n  # 预处理 %message% 中的消息\n  pretreatment:\n    enabled: true\n    # **使用方法**\n    # list:\n    #   - 匹配方式: prefix (前缀匹配), 处理方式: to_all, to_replace\n    #              contain (包含), 处理方式: to_all, to_replace\n    #              equal (完全相等), 处理方式: to_all\n    #              regular (正则匹配), 处理方式: to_all, to_regular\n    #\n    #     处理方式: to_all (替换整条消息)\n    #              to_replace (替换匹配到的部分)\n    #              to_regular (使用正则替换, 可使用正则变量)\n    #\n    #     是否发送: send (填写 send 配置将取消转发送匹配到的消息, 不需要时请忽略)\n\n    # 示例配置, 默认配置了一些可能有用的功能:\n    list:\n\n      # 群公告, JSON\n      - prefix: '{\"app\":\"com.tencent.mannounce\"'\n        to_all: '[群公告]'\n\n      # 视频, 字符串\n      - prefix: '你的QQ暂不支持查看视频短片'\n        to_all: '[视频]'\n\n      # 使中括号与文本的前后始终有空格\n      - regular: '\\[([^\\]]+)\\]([^\\s])'\n        to_regular: '[$1] $2'\n      - regular: '([^\\s])\\[([^\\]]+)\\]'\n        to_regular: '$1 [$2]'\n\n      # 转发消息使用前缀, 在群中使用 # 前缀将改变消息格式\n      - regular: '^\\s*(?:#|＃)'\n        to_regular: '§7\u003e §f'\n\n      # 示例: 取消发送包含此内容的消息\n      #- contain: '此内容'\n      #  send: false\n\n\n  ## 3.1\n  # 按行预处理指令返回消息, 用于处理返回到QQ群的消息\n  pretreatment-command-message:\n    enabled: true\n    # 使用方法: 如上\n    list:\n      # 删除格式化字符\n      - regular: '§[a-z0-9]'\n        to_regular: ''\n\n      # 示例: co插件翻页消息处理\n      #- regular: '◀? ?第 (.*) 页 ▶? ?\\((.*)\\)'\n      #  to_regular: '第 $1 页,  使用 /co page \u003c页码\u003e 翻页'\n\n\n  ## 3.2\n  # 按多行文本预处理指令返回消息\n  # 可使用占位符:\n  #   - %command% :: 用户运行的指令原文(不带斜杠/前缀)\n  #   - %time% :: 指令运行耗时\n  #   - %qq% :: 执行指令的qq号\n  #   - %group% :: 执行指令的群号\n  pretreatment-command-message-all:\n    enabled: false\n    enabled-placeholder: false # 关闭占位符可提高性能\n    # 使用方法: 如上\n    list:\n      # 示例: 显示指令运行时间, 需要开启占位符\n      #- regular: '([\\s\\S]+)'\n      #  to_regular: '$1\\n  - 运行耗时: %time%ms'\n\n\n  ## 4\n  # 预设的格式调整功能\n  other-format-presets:\n    # 是否删除 %message% 消息 中的格式化字符\n    render-message_format-code: false\n    # 删除 %message% 消息 前后的空格和空行\n    message-trim: true\n    # 是否删除 %nick% 群名片 中的格式化字符\n    render-nick_format-code: true\n\n    # 聊天消息过长时转换为悬浮文本\n    long-message:\n      enabled: true\n      # 以下任意一个条件成立时被判定为长消息, 若需取消一个, 请改为很大的数\n      # 条件1: 消息长度达到此值\n      condition-length: 210\n      # 条件2: 换行数量达到此值, 在 message-trim 之后运行\n      condition-line_num: 6\n      # 显示为\n      message: '§f[§7长消息§f]'\n\n    # 是否启用 \"更好的多行消息\"\n    multiline-message:\n      enabled: true\n      line-0: '' # [多行消息]\n      line-prefix: '  '\n\n    # 是否将聊天消息转发到控制台/日志\n    message-to-log: true\n\n\n  ## 5\n  # 引用回复\n  # 添加变量: %_reply_%\n  # 如果是回复消息, 则为变量赋值并为消息添加悬浮文本框用于显示内容. 可以将鼠标悬停在消息上查看回复的内容\n  reply-message:\n    # 可用变量:\n    # %qq% - 被回复的消息的发送者QQ号\n    # %c_name% - 群名片 - 需要开启 aplini.format-qq-id\n    var: '§f[§7回复 @%c_name%§f] '\n\n    # 可用变量:\n    # %_/n_% - 换行\n    # %qq% - 被回复的消息的发送者QQ号\n    # %c_name% - 群名片 - 需要开启 aplini.format-qq-id\n    # %message% - 回复内容\n    # %main_message% - 当前消息内容\n    message: '§f[§7引用 @%c_name%§f]%_/n_%§7%message%§r%_/n_%%_/n_%§f——%main_message%'\n\n    # 删除重复@ :: 如果引用回复对象等于消息开头的@对象, 则删除消息开头的 @\n    del-duplicates-at: true\n\n\n  ## 6\n  # 发送消息的指令\n  # /qchat \u003c消息\u003e - 使用此指令\n  qchat:\n    # 使用上方 general.group-ids 中配置的群\n    use-general-group-ids: true\n    # 消息转发到哪些群, 需要 use-general-group-ids: false\n    group-ids:\n      - 1000000\n    # 如果是玩家使用指令\n    player:\n      # 转发到QQ群的格式\n      # %name% - 玩家名称\n      # %message% - 消息\n      qq-format: '[%name%] %message%'\n      # 是否同时将消息广播到MC服务器\n      mc-broadcast: true\n      # 广播到MC服务器的\n      mc-format: '§f[§7%name%§f] §7%message%'\n    # 如果是控制台或插件使用指令, 同时绕过关键词和玩家黑名单\n    console:\n      # %message% - 消息\n      qq-format: '%message%'\n\n\n  ## 7\n  # [前置] 群成员信息缓存\n  # ! 需要开启 MiraiMC 配置中的 bot.contact-cache.enable-group-member-list-cache\n  player-cache:\n    # 在机器人登录和服务器启动时运行此程序\n    enabled: true\n    # 在玩家群名片修改时更新缓存\n    auto-update: true\n    # 在玩家发送消息时更新缓存\n    auto-update-form-msg: true\n    # 群名片修改时发出日志\n    auto-update-log: true\n    # 使用上方 general.group-ids 中配置的群\n    use-general-group-ids: true\n    # 缓存哪些群, 需要 use-general-group-ids: false\n    group-ids:\n      - 1000000\n\n\n  ## 8\n  # 将 %message% 中的 @qqID 替换为 @名称\n  # 需要开启前置: aplini.player-cache\n  format-qq-id:\n    enabled: true\n    # 用于匹配 @qqID 的正则\n    regular: '(@[0-9]{5,11})'\n    # 格式\n    # %qq% - qq号\n    # %name% - 名称\n    format: '§f[§7@%name%§f]§7'\n    # 一条消息最多匹配几次, 防止刷屏浪费性能\n    max-cycles-num: 10\n\n\n  ## 9\n  # 事件任务\n  event-func:\n    # enable 修改后需要重启服务器\n    enable: false\n    # 使用上方 general.group-ids 中配置的群\n    use-general-group-ids: true\n    # 启用在哪些群, 需要 use-general-group-ids: false\n    group-ids:\n      - 1000000\n\n    # 每个事件可用的任务不同, 这里列出了所有任务的使用方法:\n      # - command: 'command' - 发送指令\n\n      # - message-text: '消息' - 向事件来源发送消息, 群 或 好友/私聊\n\n      # - message-group: 1000000 - 向指定群发送消息\n      #   message-text: '消息'\n\n      # - message-friend: 2000003 - 向指定好友发送消息\n      #   message-text: '消息'\n\n    MiraiMemberJoinEvent: # 群成员加入\n      # 可使用: command, message-text, message-group\n      # 一个事件中可添加多个相同或不相同的任务, 就像这样:\n      #- message-text: '欢迎'\n      #- command: 'tps'\n      #- command: 'mspt'\n      #- message-group: 1000000\n      #  message-text: '消息'\n\n    MiraiMemberLeaveEvent: # 成员退出\n      # 可使用: command, message-text, message-group\n\n\n  ## 10\n  # 自动回复\n  # 当QQ群中的消息匹配时发送自定义消息\n  auto-response:\n    enable: true\n    # 使用上方 general.group-ids 中配置的群\n    use-general-group-ids: true\n    # 回复哪些群的消息, 需要 use-general-group-ids: false\n    group-ids:\n      - 1000000\n    # 为此功能启用PAPI, 需要安装PAPI插件\n    enable-papi: false\n\n    # **使用方法**\n    # list:\n    #   - 匹配方式: prefix (前缀匹配)\n    #             contain (包含)\n    #             equal (完全相等)\n    #             regular (正则匹配, send 中可使用正则变量)\n    #     send (发送的消息内容)\n    #\n    # \u003e 正则的性能较差, 请尽量避免使用很多正则\n    # !! 请小心使用正则拼接PAPI变量, 如果正则设计有问题则可能出现注入漏洞 !!\n    #    - 提示: 应指定匹配的字符范围和最小最大次数, 要绝对的防止输入PAPI变量的保留符号: %\n    #      - 比如: - regular: '^\\#ping ([a-zA-Z0-9_]{3,16})$'\n    #               send: '$1 的延迟为: %player_ping_$1%ms'\n    # 示例配置, 默认配置了一些可能有用的功能:\n    list:\n\n      # 使用PAPI获取在线玩家数量, 需要启用 aplini.auto-response.enable-papi\n      # PlayerList: /papi ecloud download playerlist\n      - equal: '#list'\n        send: '在线玩家: [%playerlist_online,normal,yes,amount%] \\n%playerlist_online,normal,yes,list%'\n\n      # 使用PAPI获取服务器TPS, 需要启用 aplini.auto-response.enable-papi\n      # Server: /papi ecloud download Server\n      - equal: '#tps'\n        send: 'TPS [1m, 5m, 15m]: %server_tps_1% / %server_tps_5% / %server_tps_15%'\n\n      # 指令列表\n      - equal: '#help'\n        send: '指令列表: \n        \\n    - #list - 显示在线玩家列表\n        \\n    - #tps - 显示服务器TPS'\n\n      # @一个QQ号时发送消息\n      - contain: '@2000000'\n        send: 'OwO'\n\n\n# \u003c- 至此, 您已经完成了所有配置, 部分功能使用 /chat2qq reload 重载插件即可应用 uwu\n\n```\n\n\n### 指令和权限\n\n- `qchat \u003c消息\u003e` - 发送消息到群, 详细配置在 `aplini.qchat`\n- `chat2qq` - 插件主命令 \u0026 帮助信息\n    - `chat2qq outgroupcacheall` - 打印群成员缓存数据\n\nplugin.yml\n```yaml\ncommands:\n  qchat:\n    description: 发送聊天消息到QQ群\n    permission: chat2qq.command.qchat\n\n  chat2qq:\n    description: Chat2QQ 插件主命令\n\npermissions:\n  chat2qq.qq.receive:\n    description: 允许收到来自QQ群的消息\n    default: true\n\n  chat2qq.chat.requite:\n    description: 允许使用前缀符号转发消息到QQ群\n    default: true\n\n  chat2qq.join.silent:\n    description: 允许悄悄加入服务器\n    default: false\n\n  chat2qq.quit.silent:\n    description: 允许悄悄离开服务器\n    default: false\n\n  chat2qq.command.qchat:\n    description: 允许使用 /qchat\n    default: op\n\n  chat2qq.command.chat2qq:\n    description: 允许使用 /chat2qq\n    default: op\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplini%2Fchat2qq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faplini%2Fchat2qq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplini%2Fchat2qq/lists"}