0.0.8 • Published 6 months ago

koishi-plugin-anti-recall v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

koishi-plugin-anti-recall

npm

介绍

anti-recall 是一个 Koishi 插件,用于防止指定的群组或用户撤回消息,并将撤回的消息转发到其他群组或用户。

安装

前往 Koishi 插件市场添加该插件即可

配置项

anti-recall 插件目前没有任何配置项

数据表

anti-recall 插件使用了一个名为 anti_recall_table 的数据表,用于存储防撤回监听对象的信息。

该表的各字段如下:

  • id: 自增的主键值,用于唯一标识一条记录。
  • targetId: 防撤回监听对象的 ID,可以是群组 ID 或用户 ID。
  • isSendToTriggerGuild: 是否将撤回的消息发送回触发撤回事件的群组或用户,默认为 false
  • forwardedGuildIds: 转发撤回消息的群组 ID 列表,默认为空。
  • forwardedUserIds: 转发撤回消息的用户 ID 列表,默认为空。
  • bypassedUserIds: 不监听撤回消息的用户 ID 列表,默认为空。

指令

anti-recall 插件提供了以下指令,用于管理防撤回监听对象:

  • antiRecall:查看 antiRecall 帮助。
  • antiRecall.add <targetId:string> [isSendToTriggerGuild:boolean] [forwardedGuildId:string] [forwardedUserId:string] [bypassedUserId:string]:添加防撤回监听对象。
    • targetId 参数可以是一个或多个用逗号分隔的群组 ID 或用户 ID,也可以使用 ~ 代表当前会话的群组 ID 或用户 ID。其他参数可选,用于设置是否将撤回消息发送回触发群组或用户,以及转发和忽略的群组或用户列表。
  • antiRecall.delete <targetId:string>:删除防撤回监听对象。
    • targetId 参数同上。
  • antiRecall.set <targetId:string> [isSendToTriggerGuild:boolean] [forwardedGuildId:string] [forwardedUserId:string] [bypassedUserId:string]:设置防撤回监听对象的属性。
    • targetId 参数同上,其他参数可选,用于修改是否将撤回消息发送回触发群组或用户,以及转发和忽略的群组或用户列表。
  • antiRecall.list:查看启用的对象 ID 列表

事件

anti-recall 插件监听了 message-deleted 事件,用于检测指定的群组或用户是否有撤回消息,并将撤回的消息内容和相关信息转发到其他群组或用户。

示例

假设有以下场景:

  • 群 A 的 ID 是 123456
  • 群 B 的 ID 是 234567
  • 用户 C 的 ID 是 345678
  • 用户 D 的 ID 是 456789

如果想要监听群 A 和用户 C 的撤回消息,并将其转发到群 B 和用户 D,并且不监听用户 D 在群 A 的撤回消息,则可以使用以下指令:

antiRecall.add 123456,345678 true 234567 456789 456789

这样,当群 A 或用户 C 中有人(除了用户 D)撤回消息时,就会将该消息内容和相关信息发送到群 A、群 B 和用户 D 中。

致谢

License

MIT License © 2023

0.0.8

6 months ago

0.0.7

6 months ago

0.0.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago