群组监控
站点可能需要抢注, 抢讨论组中发出的邀请码, 以及答题赚积分, 这些功能都需要使用群组监控模块.
警告
站点所有者可能发送假的蜜罐邀请码, 以筛选使用本工具的人, 可能导致您的禁言乃至封号. 因此, 请谨慎使用抢邀请码功能.
支持站点
该模块支持若干特定站点, 请参考 README.
会员等级
该功能需要高级用户 (PRIME). 部分使用云服务的站点可能需要 高级用户 (SUPER).
开启条件
该功能开启的条件为:
您是高级用户.
命令行没有禁用群组监控:
bash# 启用全部功能 embykeeper -i # 启用群组监控 embykeeper -i -m # 禁用群组监控, 启用其他功能 embykeeper -i -c -e -s
配置文件有至少一个 Telegram 账户配置, 且设置了
monitor = true
:toml[[telegram.account]] phone = "+8616401875896" monitor = true
您需要加入监控目标的群组或频道.
若您所需的站点为默认禁用, 您需要在 配置文件中启用该站点:
toml[site] monitor = ["bgk", "embyhub", "follow", "judog", "misty", "polo", "pornfans_answer", "pornfans_double", "pornfans_dragon_rain", "pornfans_nohp", "pornfans_register", "viper"]
配置选项
监控的站点: 通过配置文件
site
项调节, 例如:toml[site] monitor = ["bgk", "embyhub"]
其中的站点可以通过: 支持的站点 中的英文名 (而非机器人名) 填入.
自定义监控
如果您希望监控的站点尚未被支持, 可通过模板创建:
自定义监控, 识别到对应消息后向 Telegram 发送通知或自动发送信息 (templ_a
)
您需要先增加一个站点:
[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 账号发送消息.
或者你可以开启自定义的回复:
[site]
monitor = ["templ_a<example_site>"]
[monitor.'templ_a<all_site_lottery>']
name = "所有站点"
chat_keyword = "参与关键词:「(.*?)」"
send_immediately = true
chat_reply = "$1"
这将在任意站点中有任意用户发送 "参与关键词:「(.*?)」" 时立刻回复关键词.
可使用的设置项包括:
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
name | str | 监控器显示名称 | |
chat_name | str /int | 监控的群聊 (支持用户名 / ID) | |
chat_allow_outgoing | bool | 是否支持自己发言触发 | false |
chat_user | str /list | 仅被列表中用户的发言触发 (支持用户名 / ID) | [] |
chat_keyword | str /list | 仅当消息含有列表中的关键词时触发, 支持 Regex | [] |
chat_except_keyword | str /list | 消息含有列表中的关键词时不触发, 支持 Regex | [] |
send | bool | 是否推送消息 | true |
send_immediately | bool | 是否发送即时日志, 不等待每日推送时间 | true |
try_register_bot | str | 尝试在机器人处注册 (需要为 berry8838/Sakura_embyboss 项目部署的机器人) | (不注册) |
chat_reply | str | 自动回复监控到信息的内容, 如果包含 $1 等将自动替换 chat_keyword 中的捕获 | (不回复) |
chat_probability | float | 每次回复的随机概率 (0最低, 1最高) | 1.0 |
chat_delay | int | 回复发信延迟 (秒) | 0 |
chat_follow_user | int | 需要等待 N 个用户发送 chat_reply 方可回复 | 0 |
trigger_interval | float | 每次触发的最低时间间隔 (秒) | 2 |
trigger_sim | int | 同时触发的最大并行处理数 | 1 |
trigger_max_time | float | 触发后处理的最长时间 (秒) | 120 |
allow_edit | bool | 对于编辑后消息的内容也触发 | false |
allow_caption | bool | 是否允许带照片的消息 | true |
allow_text | bool | 是否允许不带照片的消息 | true |
自定义监控, 识别到多人发送相同的消息后向该群组自动发送信息 (templ_b
)
您需要先增加一个配置:
[site]
monitor = ["templ_b<all_follow>"]
[monitor.'templ_b<all_follow>']
name = "全部群组从众"
chat_follow_user = 5
这将在某某站点 (用户名为 @moumou_chat
) 中 @moumou_bot 用户发送 "开注啦" 时立刻向设置的 Telegram 账号发送消息.
或者你可以进行更精细的控制:
[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 账号发送消息.
可使用的设置项包括:
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
name | str | 监控器显示名称 | |
chat_name | str /int | 监控的群聊名称或 ID | |
chat_follow_user | int | 需要等待 N 个用户发送相同内容方可回复 | 10 |
chat_keyword | str /list | 仅当消息含有列表中的关键词时触发, 支持 Regex | [] |
chat_except_keyword | str /list | 消息含有列表中的关键词时不触发, 支持 Regex | [] |
chat_probability | float | 每次发信概率 (0最低, 1最高) | 1.0 |
chat_delay | int | 发信延迟 (秒) | 0 |
chat_max_length | int | 发送最大长度 (字符) | 120 |
trigger_interval | float | 每次触发的最低时间间隔 (秒) | 120 |
allow_same_user | bool | 是否允许同一个人的消息计入用户统计 | false |
站点配置
如果您需要在自动抢注时自定义用户名, 您需要在配置文件末尾追加:
[monitor.bgk] # 支持 bgk, embyhub, polo
unique_name = "your_username_for_registeration" # 自动抢注时使用的用户名
如果您需要在 PornFans
自动回答问题时, 仅当问题历史中找到答案时自动回答, 保证百分百准确率, 您需要在配置文件末尾追加:
[monitor.pornfans_answer]
only_history = true # 仅当问题历史中找到答案时自动回答
如果您需要在 PornFans
自动回答问题时, 一定概率不回答, 您需要在配置文件末尾追加:
[monitor.pornfans_answer]
possibility = 0.7 # 70% 概率回答, 30% 概率不回答
如果您需要在 PornFans
抢龙王雨红包时, 一定概率不抢, 您需要在配置文件末尾追加:
[monitor.pornfans_dragon_rain]
possibility = 0.3 # 30% 概率抢, 70% 概率不抢
运行模式
PornFans 自动回答科举和群组中问题
首先从历史记录中查找答案.
如果没有找到, 请求 ChatGPT 回答 或 高准确度题库回答 (需要在爱发电购买启用).
答案历史记录每隔 12 小时更新一次.
Terminus (终点站) 考核辅助
该部分请详见 📝 考核辅助.