Skip to content

群组监控

站点可能需要抢注, 抢讨论组中发出的邀请码, 以及答题赚积分, 这些功能都需要使用群组监控模块.

警告

站点所有者可能发送假的蜜罐邀请码, 以筛选使用本工具的人, 可能导致您的禁言乃至封号. 因此, 请谨慎使用抢邀请码功能.

支持站点

该模块支持若干特定站点, 请参考 README.

会员等级

该功能需要高级用户 (PRIME). 部分使用云服务的站点可能需要 高级用户 (SUPER).

开启条件

该功能开启的条件为:

  1. 您是高级用户.

  2. 命令行没有禁用群组监控:

    bash
    # 启用全部功能
    embykeeper -i
    
    # 启用群组监控
    embykeeper -i -m
    
    # 禁用群组监控, 启用其他功能
    embykeeper -i -c -e -s
  3. 配置文件有至少一个 Telegram 账户配置, 且设置了 monitor = true:

    toml
    [[telegram.account]]
    phone = "+8616401875896"
    monitor = true
  4. 您需要加入监控目标的群组或频道.

  5. 若您所需的站点为默认禁用, 您需要在 配置文件中启用该站点:

    toml
    [site]
    monitor = ["bgk", "embyhub", "follow", "judog", "misty", "polo", "pornfans_answer", "pornfans_double", "pornfans_dragon_rain", "pornfans_nohp", "pornfans_register", "viper"]

配置选项

  1. 监控的站点: 通过配置文件 site 项调节, 例如:

    toml
    [site]
    monitor = ["bgk", "embyhub"]

    其中的站点可以通过: 支持的站点 中的英文名 (而非机器人名) 填入.

自定义监控

如果您希望监控的站点尚未被支持, 可通过模板创建:

自定义监控, 识别到对应消息后向 Telegram 发送通知或自动发送信息 (templ_a)

您需要先增加一个站点:

toml
[site]
monitor = ["templ_a<example_site>"]

[monitor.'templ_a<example_site>']
name = "某某站点"
chat_name = "moumou_chat"
chat_keyword = "开注啦"
chat_user = "moumou_bot"
send_immediately = true
try_register_bot = "moumou_bot"

这将在某某站点 (用户名为 @moumou_chat) 中 @moumou_bot 用户发送 "开注啦" 时立刻向设置的 Telegram 账号发送消息.

或者你可以开启自定义的回复:

toml
[site]
monitor = ["templ_a<example_site>"]

[monitor.'templ_a<all_site_lottery>']
name = "所有站点"
chat_keyword = "参与关键词:「(.*?)」"
send_immediately = true
chat_reply = "$1"

这将在任意站点中有任意用户发送 "参与关键词:「(.*?)」" 时立刻回复关键词.

可使用的设置项包括:

设置项值类型简介默认值
namestr监控器显示名称
chat_namestr/int监控的群聊 (支持用户名 / ID)
chat_allow_outgoingbool是否支持自己发言触发false
chat_userstr/list仅被列表中用户的发言触发 (支持用户名 / ID)[]
chat_keywordstr/list仅当消息含有列表中的关键词时触发, 支持 Regex[]
chat_except_keywordstr/list消息含有列表中的关键词时不触发, 支持 Regex[]
sendbool是否推送消息true
send_immediatelybool是否发送即时日志, 不等待每日推送时间true
try_register_botstr尝试在机器人处注册 (需要为 berry8838/Sakura_embyboss 项目部署的机器人)(不注册)
chat_replystr自动回复监控到信息的内容, 如果包含 $1 等将自动替换 chat_keyword 中的捕获(不回复)
chat_probabilityfloat每次回复的随机概率 (0最低, 1最高)1.0
chat_delayint回复发信延迟 (秒)0
chat_follow_userint需要等待 N 个用户发送 chat_reply 方可回复0
trigger_intervalfloat每次触发的最低时间间隔 (秒)2
trigger_simint同时触发的最大并行处理数1
trigger_max_timefloat触发后处理的最长时间 (秒)120
allow_editbool对于编辑后消息的内容也触发false
allow_captionbool是否允许带照片的消息true
allow_textbool是否允许不带照片的消息true
自定义监控, 识别到多人发送相同的消息后向该群组自动发送信息 (templ_b)

您需要先增加一个配置:

toml
[site]
monitor = ["templ_b<all_follow>"]

[monitor.'templ_b<all_follow>']
name = "全部群组从众"
chat_follow_user = 5

这将在某某站点 (用户名为 @moumou_chat) 中 @moumou_bot 用户发送 "开注啦" 时立刻向设置的 Telegram 账号发送消息.

或者你可以进行更精细的控制:

toml
[site]
monitor = ["templ_b<example_site>"]

[monitor.'templ_b<example_site>']
name = "某某站点"
chat_name = "moumou_chat"
chat_follow_user = 5
chat_keyword = "参与关键词:「(.*?)」"
chat_delay = 5
allow_same_user = false

这将在某某站点 (用户名为 @moumou_chat) 中 @moumou_bot 用户发送 "开注啦" 时立刻向设置的 Telegram 账号发送消息.

可使用的设置项包括:

设置项值类型简介默认值
namestr监控器显示名称
chat_namestr/int监控的群聊名称或 ID
chat_follow_userint需要等待 N 个用户发送相同内容方可回复10
chat_keywordstr/list仅当消息含有列表中的关键词时触发, 支持 Regex[]
chat_except_keywordstr/list消息含有列表中的关键词时不触发, 支持 Regex[]
chat_probabilityfloat每次发信概率 (0最低, 1最高)1.0
chat_delayint发信延迟 (秒)0
chat_max_lengthint发送最大长度 (字符)120
trigger_intervalfloat每次触发的最低时间间隔 (秒)120
allow_same_userbool是否允许同一个人的消息计入用户统计false

站点配置

如果您需要在自动抢注时自定义用户名, 您需要在配置文件末尾追加:

toml
[monitor.bgk] # 支持 bgk, embyhub, polo
unique_name = "your_username_for_registeration" # 自动抢注时使用的用户名

如果您需要在 PornFans 自动回答问题时, 仅当问题历史中找到答案时自动回答, 保证百分百准确率, 您需要在配置文件末尾追加:

toml
[monitor.pornfans_answer]
only_history = true # 仅当问题历史中找到答案时自动回答

如果您需要在 PornFans 自动回答问题时, 一定概率不回答, 您需要在配置文件末尾追加:

toml
[monitor.pornfans_answer]
possibility = 0.7 # 70% 概率回答, 30% 概率不回答

如果您需要在 PornFans 抢龙王雨红包时, 一定概率不抢, 您需要在配置文件末尾追加:

toml
[monitor.pornfans_dragon_rain]
possibility = 0.3 # 30% 概率抢, 70% 概率不抢

运行模式

PornFans 自动回答科举和群组中问题

  1. 首先从历史记录中查找答案.

  2. 如果没有找到, 请求 ChatGPT 回答 或 高准确度题库回答 (需要在爱发电购买启用).

  3. 答案历史记录每隔 12 小时更新一次.

Terminus (终点站) 考核辅助

该部分请详见 📝 考核辅助.

Released under the GPLv3 License.