Docker部署TG机器人bot,实现自动签到打卡等功能

admin 2023-12-5 457

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

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

支持的一些功能:

百度自动签到
阿里云盘自动签到领福利
天翼云盘自动签到领福利
哔哩哔哩/微博自动发动态
爱奇艺/斗鱼
刷步数
各种新闻推送
支持 Docker 一键部署
相关链接&环境
服务器,最好选用国外服务器,否则需要代理 API(因为脚本要定时运行,所以最好安装在服务器上)
科学上网环境,可参考:https://blog.fanjunyang.zone/archives/technology-vpn-share
GitHub链接:https://github.com/kukume/tgbot
TG机器人创建教程:https://blog.fanjunyang.zone/archives/bot-telegram
服务器环境:docker、docker-compose安装
部署
有两种部署方式:jar 包部署 和 Docker 部署,还是推荐 Docker 部署。

配置yml文件
新建 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-bot 的官方 api 有一些限制,比如推送动态视频不能大于 50M 等,但是自建的 api 没这些限制,例如:

下载文件没有大小限制。
上传最大2000 MB的文件。
使用本地路径和文件URI方案上传文件。
为Webhook使用 HTTP URL。
为webhook使用任何本地 IP 地址。
为webhook使用任何端口。
将max_webhook_connections设置为100000。
接收绝对本地路径作为file_path字段的值,而无需在getFile请求后下载文件。
获取app_id和app_hash
在【API development tools】登陆,填入信息,将会获得app_id和app_hash。

配置yml文件
新建一个目录,新建 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
然后修改 tgbot 的 docker-compose.yml 环境变量 KUKU_TELEGRAM_URL,修改为自建的 API 即可。

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

使用
然后去到你的 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
视频链接
YouTube:https://youtu.be/SgClzGow3no


最新回复 (0)
返回