每日签到
很多 Emby 服务器对应的 Telegram 机器人可以签到攒积分, 用于 Emby 服账号续期.
支持站点
该模块支持若干特定站点, 请参考 README.
会员等级
该功能不需要高级用户.
开启条件
该功能开启的条件为:
命令行没有禁用每日签到:
bash# 启用全部功能 embykeeper -i # 启用每日签到 embykeeper -i -c # 禁用每日签到, 启用其他功能 embykeeper -i -e -m -s
配置文件有至少一个 Telegram 账户配置, 且没有设置
checkin = false
:toml[[telegram.account]] phone = "+8616401875896" monitor = true
您需要向签到站点对应的机器人发送过任意一条消息 (例如
/start
).若您所需的站点为默认禁用, 您需要在 配置文件中启用该站点:
toml[site] checkiner = ["bluesea", "charon", "embyhub", "jms", "jms_iptv", "judog", "ljyy", "magic", "misty", "nebula", "peach", "pornfans", "singularity", "sssq", "temby", "terminus", "zhipian"]
配置选项
签到的时间范围:
签到超时: 通过配置文件
timeout
项调节.签到错误重试次数: 通过配置文件
retries
项调节.签到最大并发: 通过配置文件
concurrent
项调节.签到各站点间时间随机量: 通过配置文件
random
项调节.签到的站点: 通过配置文件
site
项调节, 例如:toml[site] checkiner = ["charon", "embyhub"]
其中的站点可以通过: 支持的站点 中的英文名 (而非机器人名) 填入.
自定义签到
如果您需要签到站点尚未被支持, 但是符合以下通用模板格式, 即可通过模板创建:
使用 Sakura_embyboss 部署的机器人 (templ_a
)
支持类似于该图模式的机器人:
可以使用 templ_a<xxx>
格式启用, xxx
为机器人的用户名, 如:
[site]
checkiner = ["templ_a<moumou_bot>"]
如果机器人进行了特定的自定义, 请进行配置, 例如:
[site]
checkiner = ["templ_a<moumou_bot>"]
[checkiner.'templ_a<moumou_bot>']
name = "某某站点"
templ_panel_keywords = "你好呀" # 机器人主菜单文字包含的关键词
可使用的设置项包括:
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
name | str | 签到器显示名称 | |
templ_panel_keywords | str /list | 机器人主菜单文字包含的关键词 | ["请选择功能", "用户面板"] |
bot_checkin_button | str /list | 机器人主菜单需点击的签到按钮 | ["签到", "簽到"] |
use_button_answer | bool | 点击按钮后等待并识别响应 | true |
bot_text_ignore_answer | str /list | 忽略的响应文本 | ["Done"] |
bot_fail_keywords | str /list | 签到错误将重试时检测的关键词 | (使用内置) |
bot_success_keywords | str /list | 成功时检测的关键词 | (使用内置) |
bot_success_pat | str | 当接收到成功消息后, 从消息中提取数字的 Regex 模式, 只能含有 1~2 个捕获区 | "(\d+)[^\d]*(\d+)" |
bot_captcha_len | int | 验证码长度的可能范围, 例如 [1, 2, 3] | [] |
bot_text_ignore | str /list | 当含有列表中的关键词, 即忽略该消息 | [] |
bot_checkin_caption_pat | str | 当 Bot 返回图片时, 仅当符合该 Regex 才识别为验证码 | (不限制) |
bot_checkin_cmd | str | 发送的签到命令, 提供列表用于群组签到时将随机选择一条 | "/checkin" |
bot_use_captcha | bool | 当 Bot 返回图片时, 识别验证码并处理 | true |
自定义签到, 支持识别输入式验证码 (templ_b
)
可以使用 templ_b<xxx>
格式启用, xxx
为机器人的用户名.
例如:
[site]
checkiner = ["templ_b<moumou_bot>"]
[checkiner.'templ_b<moumou_bot>']
name = "某某站点"
bot_checkin_cmd = "/sign"
bot_success_keywords = "签到结果"
这将在设定时间向某某站点机器人 (用户名为 @moumou_bot
) 发送 "/sign" 并等待机器人返回带有 "签到结果" 的消息.
可使用的设置项包括:
设置项 | 值类型 | 简介 | 默认值 |
---|---|---|---|
name | str | 签到器显示名称 | |
is_chat | bool | 指定的用户名为群组用户名或 ID, 而非机器人 | false |
bot_checkin_cmd | str /list | 发送的签到命令, 提供列表用于群组签到时将随机选择一条 | "/checkin" |
bot_send_interval | int | 签到命令间等待的秒数 | 3 |
wait_response | bool | 是否需要等待相关回复, 以确认签到完成 | true |
bot_use_captcha | bool | 当 Bot 返回图片时, 识别验证码并处理 | true |
bot_checkin_caption_pat | str | 当 Bot 返回图片时, 仅当符合该 Regex 才识别为验证码 | (不限制) |
bot_text_ignore | str /list | 当含有列表中的关键词, 即忽略该消息 | [] |
ocr | str | OCR 模型名称, 置空使用默认模型 | (默认模型) |
bot_captcha_char_range | str | OCR 字符范围, 仅当默认模型可用 | (默认范围) |
bot_captcha_len | int /list | 验证码长度的可能范围, 例如 [1, 2, 3] | [] |
bot_success_pat | str | 当接收到成功消息后, 从消息中提取数字的 Regex 模式, 只能含有 1~2 个捕获区 | "(\d+)[^\d]*(\d+)" |
bot_retry_wait | int | 失败时等待的秒数 | 2 |
bot_use_history | int | 首先尝试识别历史记录中最后一个验证码图片, 最多识别 N 条 | (禁用) |
bot_allow_from_scratch | bool | 允许从未聊天情况下启动 | false |
bot_success_keywords | str /list | 成功时检测的关键词 | (使用内置) |
bot_checked_keywords | str /list | 今日已签到时检测的关键词 | (使用内置) |
bot_account_fail_keywords | str /list | 账户错误将退出时检测的关键词 | (使用内置) |
bot_too_many_tries_fail_keywords | str /list | 过多尝试将退出时检测的关键词 | (使用内置) |
bot_fail_keywords | str /list | 签到错误将重试时检测的关键词 | (使用内置) |
max_retries | int | 验证码错误或网络错误时最高重试次数 | (根据全局设置) |
checked_retries | int | 今日已签到时最高重试次数 | (不重试) |
使用 Sakura_embyboss 部署的机器人定时尝试注册 (templ_c
)
可以使用 templ_c<xxx>
格式启用, xxx
为机器人的用户名.
[site]
checkiner = ["templ_c<moumou_bot>"]
[checkiner.'templ_c<moumou_bot>']
interval = 6000
这将在某某站点 (机器人用户名为 @moumou_bot
) 每 6000 秒尝试使用 /start
获取一次开注情况, 如开注则注册.
运行细节
备注
启动时首次运行的关键消息不会发送到您设置的 Telegram 账号.
启动时首次运行, 将依次进行各站点签到, 之间没有间隔时间. 每日计划任务运行时, 将随机等待一定时间, 由配置文件中的
random
参数决定.
运行模式
发送类定义的签到命令.
检查消息历史或等待验证码信息出现.
使用
ddddocr
内置模型或自训练模型进行 OCR.回复或点击按钮.
根据返回的信息判定是否成功.
显示或发送日志信息.