51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker部署TG机器人bot,实现第三方动态推送、自动签到打卡、刷步数等功能

前言 {#%E5%89%8D%E8%A8%80}

最近阿里云盘出了【时光设备间】备份获取永久容量的功能,虽然免费获取的空间有点少,但是苍蝇再小也是肉。

所以找了一个不错的项目,利用 TG 机器人来实现自动签到、自动领空间等需求。

支持的一些功能:

  • 百度自动签到
  • 阿里云盘自动签到领福利
  • 天翼云盘自动签到领福利
  • 哔哩哔哩/微博自动发动态
  • 爱奇艺/斗鱼
  • 刷步数
  • 各种新闻推送
  • 支持 Docker 一键部署
  • ...

相关链接&环境 {#%E7%9B%B8%E5%85%B3%E9%93%BE%E6%8E%A5%26%E7%8E%AF%E5%A2%83}

部署 {#%E9%83%A8%E7%BD%B2}

有两种部署方式:jar 包部署 和 Docker 部署,还是推荐 Docker 部署。

配置yml文件 {#%E9%85%8D%E7%BD%AEyml%E6%96%87%E4%BB%B6}

新建 docker-compose.yml 文件如下:

version: "3"
services:
  tgbot:
    image: kukume/tgbot
    container_name: tgbot
    ports: 
    # 左侧端口随意修改为宿主机上未被占用的端口即可,不使用这个端口,无所谓
      - 9999:8080
    environment:
      # @BotFather获取到的token
      KUKU_TELEGRAM_TOKEN: 
      # 机器人管理员的id
      KUKU_TELEGRAM_CREATOR_ID: 0
      # 代理地址
      KUKU_TELEGRAM_PROXY_HOST:
      # 代理端口
      KUKU_TELEGRAM_PROXY_PORT: 0
      # 代理类型,可选 DIRECT(不设置代理)、HTTP、SOCKS
      KUKU_TELEGRAM_PROXY_TYPE: DIRECT
      # 自建的tg服务器的地址(包含http://或者https://),如果填了,
      # 上传文件到机器人的功能均会失效,如果不填,动态推送将不能推送50M以上的视频
      KUKU_TELEGRAM_URL:
    depends_on:
      - mongo
`mongo:
image: mongo:4
volumes:
- ./db:/data/db
- ./dump:/dump
`

如果需要代理地址,可查看文章:免费 API 代理服务

docker-compose.yml 文件的目录下执行命令:

docker-compose up -d

TG限制(可选) {#tg%E9%99%90%E5%88%B6(%E5%8F%AF%E9%80%89)}

tg-bot 的官方 api 有一些限制,比如推送动态视频不能大于 50M 等,但是自建的 api 没这些限制,例如:

  • 下载文件没有大小限制。
  • 上传最大2000 MB的文件。
  • 使用本地路径和文件URI方案上传文件。
  • 为Webhook使用 HTTP URL。
  • 为webhook使用任何本地 IP 地址。
  • 为webhook使用任何端口。
  • 将max_webhook_connections设置为100000。
  • 接收绝对本地路径作为file_path字段的值,而无需在getFile请求后下载文件。

获取app_id和app_hash {#%E8%8E%B7%E5%8F%96app_id%E5%92%8Capp_hash}

在【API development tools】登陆,填入信息,将会获得app_id和app_hash。

配置yml文件 {#%E9%85%8D%E7%BD%AEyml%E6%96%87%E4%BB%B6-1}

新建一个目录,新建 docker-compose.yml 文件如下:

version: '3.7'
`services:
tg-bot-api:
image: aiogram/telegram-bot-api:latest
restart: always
environment:
TELEGRAM_API_ID: "app_id"
TELEGRAM_API_HASH: "app_hash"
TELEGRAM_LOCAL: 1
volumes:
- ./data:/var/lib/telegram-bot-api
ports:
# :左边为映射的端口
- 8888:8081
`

其他环境变量见:https://hub.docker.com/r/aiogram/telegram-bot-api

在当前 docker-compose.yml 文件的目录下执行命令:

docker-compose up -d

然后修改 tgbotdocker-compose.yml 环境变量 KUKU_TELEGRAM_URL,修改为自建的 API 即可。

例如本篇文章的 API 就是:http://<docker ip>:8888

使用 {#%E4%BD%BF%E7%94%A8}

然后去到你的 TG 机器人聊天框里,输入指令 start,即可看到是否启用成功。

相关命令:

login - 登录
manager - 管理
exec - 手动执行
delete - 删除登录的账号
update - 查看github提交记录
log - 查看自动签到日志
oci - Oracle Cloud管理
buff - 网易buff监控
uuyp - 悠悠有品监控
config - 用户配置
lolicon - lolicon图片
loliconmulti - 多张lolicon图片
push - 自定义消息推送
tool - 工具

日志

有问题可以查看 Docker 日志:

docker logs -f tgbot

或者把 Docker 日志写入到某个文件里:

docker logs -f tgbot > log.txt

视频链接 {#%E8%A7%86%E9%A2%91%E9%93%BE%E6%8E%A5}

赞(2)
未经允许不得转载:工具盒子 » Docker部署TG机器人bot,实现第三方动态推送、自动签到打卡、刷步数等功能