- Notifications
You must be signed in to change notification settings - Fork36
TdBotProject/TdPmBot
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
全功能 Telegram 私聊机器人以及创建器.
apt install -y openssl git zlib1g libc++-dev default-jdk
注: 仅支持amd64, i386, arm64, 否则需自行编译LibTDJni 放置在 libs 文件夹下. 如遇到找不到LIBC库, 请更新系统或编译安装.
需要安装Git for Windows 与VC++ 2015与OpenJDK 11
您也可使用vcpkg 编译安装openssl 与zlib
echo"alias pm='bash$PWD/bot.sh'">>$HOME/.bashrcsource$HOME/.bashrc# 注册 ./bot.sh 的命令别名 ( pm )
pm config# 编辑配置文件pm run# 编译安装并进入交互式认证pm init# 注册 systemd 服务pm<start/stop/restart># 启动停止pm<enable/disable># 启用禁用 (开机启动)pm rebuild# 重新编译pm update# 更新pm force-update# 强制重新更新pm upgrade# 更新并重启服务pm log# 实时日志pm logs# 所有日志
pm config
BOT_LANG:工作语言BOT_TOKEN:机器人令牌BOT_OWNER:管理员IDPM_MODE:运行模式PM_WHITE_LIST:白名单列表LOG_LEVEL:日志等级 - 默认为 INFODATA_DIR:数据存放目录 - 默认为当前目录下 data 文件夹CACHE_DIR:缓存存放目录 - 默认为当前目录下 cache 文件夹ERROR_REPORT:错误报告 - 默认禁用AUTO_BACKUP:自动备份 - 默认禁用BACKUP_OVERWRITE:备份覆盖间隔 - 默认持续
机器人的默认语言, 以及非私有 模式下命令模板的语言 ( 必须在BOT_LANG_LIST 中 ).
相当于账号与密码, 从@BotFather 获取, 参见https://core.telegram.org/bots#creating-a-new-bot .
启动机器人后使用/id 获取自己的 ID, 使用/id <回复消息 (群组中) / @用户名 / 引用> 获取他人 ID.
运行模式值public, 此模式下所有人都可创建机器人.
运行模式值white-list, 此模式下列表中的用户与您可以创建机器人.
需配置白名单设置项:
PM_WHITE_LIST: -id1 -id2 -...
公开模式也可以使用该参数, 用于绕过导入机器人大小限制.
运行模式值private, 此模式下主实例作为私聊机器人.
您仍可创建机器人, 但没有命令模板 (即补全).
当机器人出错时, 通常能够处理并继续运行, 您可将错误信息提交与我们以改进此程序.
默认禁用, 仅在标准输出流打印错误.
格式:disable: 禁用owner: 发送到与与您的私聊group: 机器人接入的群组
或填写会话ID, 注意:与永不离线的 telegram-http-api 服务器不同, 使用低层协议的机器人只能访问本地有记录的会话.
默认禁用, 格式同上, 使用见下迁移 节.
通常情况下您只需要最新的备份文件以免托管服务终止, 所以此项默认设为持续覆盖值-1, 以避免浪费空间.
否则, 在超过指定间隔后, 将另重新发送备份文件而不是覆盖 (在 Telegram 中表现为编辑文件).
时间格式:1d2h3m4s 或秒数例子:2m30s ( 两分钟三十秒 )或者:180 ( 三分钟 )
如需更改, 复制_bot.conf 到bot.conf.
SERVICE_NAME: systemd 服务名称, 默认 `td-bots`, 修改如果您需要多个实例.JAVA_ARGS: JVM 启动参数.ARGS: 启动参数.pm run --backup [fileName 可选]
备份所有迁移需要的文件到 tar.xz 包, 解压即可覆盖数据.
您也可以直接打包data 目录, 但包含无用的数据库与文件缓存.
pm run --config /path/to/config.yml
不常用, 但您可以写入bot.conf 的args 中作为默认参数.
如需帮助,请通过 @TdBotProject 的讨论群组与我们联系.
使用/new_bot 命令进入创建步进程序, 输入完后根据提示发送Bot Token 到机器人即可完成创建,
您也可以使用该 Token 作为命令参数传入直接创建 (/new_bot <BotToken> ).
创建完成后您需要根据提示启动该机器人并保持不禁用, 否则将无法收到消息.
将删除时生成的.td_pm 格式文件发送给主实例即可. 该文件包含登录状态, 设置和消息记录.
该文件使用自有格式并进行了 xz 压缩, 应该足够小, 所以公开模式实例中有导入大小限制 (避免恶意行为).
- 保存登录状态意味着导入后可以收到删除该机器人后错过的消息
- 如果您使用其他帐号导入, 旧的消息记录将被跳过
- 如果要导入到的实例已存在该机器人, 登录状态和旧的消息记录将被跳过
使用/my_bots 命令得到机器人菜单, 选择要设置的机器人后将得到一个管理菜单.
即对机器人发送 /start 时回复的消息.
点击编辑 按钮开始设置, 因为消息跨机器人无法转存, 所以您需要转到对应机器人进行设置.
点击重置 按钮重置回默认欢迎消息.
所有消息将被发往目标群组而不是您的私聊.
仅管理员可操作: 默认所有群组成员可操作, 开启此项以禁止非管理员操作机器人.
暂停接入: 暂停接入到群组, 收到新消息时机器人无法访问接入的群组时也会触发此项.
保留提示: 不要自动删除操作提示消息.
双向同步: 直接复制对方的消息, 而不是每次都转发, 并同步对方的编辑, 删除操作.
保持回复: 没有进入 (/join ) 对应会话的情况下保持对消息的回复.
忽略删除: 不要同步本方的消息删除, 当同时开启保留提示 时在提示中增加一个删除该消息的按钮.
您可以为机器人添加命令, 并为每个命令设置不同的消息内容, 并接收到对方消息所回复之命令.
也可以通过链接 ( start payload, 链接可以在命令设置中找到 ), 点击效果同打开bot并发送命令.
格式为https://t.me/<botUserName>?start=<command> (参见https://core.telegram.org/bots#deep-linking ).
私聊命令: 仅公开模式主实例选项, 使用该命令后机器人接受私聊消息. ( 您可提示对方使用 /cancel 退出 ).隐藏命令: 不将命令显示在命令列表中.禁用命令: 禁用但不删除.
当客人发送消息到机器人, 机器人会为每人每 5 条消息发送一条提示消息给您 ( 包括用户ID 与 引用 ).
回复这条消息: 消息将被直接发送给客人.
客人的消息将被转发至主人或接入的群组 (如果有设置).
如果启用了双向同步, 此处将直接发送对方的消息的复制, 而不是每次转发消息, 否则如果对方回复的消息存在, 将再发送一条提示消息回复对应的消息.
对客人的消息的可用操作:
回复这条消息: 消息将被直接发送给客人或回复对应消息.
回复对方的消息直接发送消息的复制给客人, 如果没有进入对应的会话, 将不会回复 对应消息, 除非您开启了保持回复.
对提示消息 / 您发送或收到的消息 回复/join ( 也可以使用对方用户名 / ID / 引用 作为参数).
进入该对话后所有消息将被发送/回复 到目标对话.
注: 如果接入到了群组, 请确保机器人有访问消息权限 (BotFather -> /setprivacy -> Disable ), 否则无法收到此类与机器人无关的消息.
命令为/block 或别名/ban, 用法同上.
屏蔽后会忽略对方发送的所有消息, 使用/unblock 或别名/unban 取消屏蔽, 另: 无法屏蔽自己.
命令为/recall, 用法同上.
使用后删除有记录的双方所有消息, 并删除记录, 所以配合屏蔽使用时请先屏蔽.
About
Telegram 全功能私聊机器人
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.