qq
机器人都是第三方的,官方不提供支持,很多消息第三方并不支持,有很多的局限性,当然最主要的原因还是不稳定,哪天就突然登不上qq
了。而tg
官方提供机器人api
,这一点直接秒杀qq
机器人了。于是把https://github.com/kukume/kukubot移植到了tgbot
上面,并且增加了许多在qq
上无法实现的功能。
数据库,我不喜欢自己建表,我喜欢自动建表的框架Hibernate
,但是Spring
并不支持响应式的Hibernate
,于是选择了Mongodb
Github:https://github.com/kukume/tgbot
哔哩哔哩、微博等动态推送,如果动态附带视频,则视频也会推送,但是视频大于50M,将只推送文字,如果需要视频大于50M也可以推送,请参考https://www.kuku.me/archives/41/自建
api
服务器,并把地址填写在配置文件中
功能
Demo
自己看吧
部署
Docker部署
使用docker
来部署,以Debian
系系统为例,docker
暂时在自定义api
服务器不能使用GetFile
函数,即机器人不能获取用户发送的文件。
安装docker
https://www.kuku.me/archives/45/
配置docker-compose.yml
新建一个文件,文件名为docker-compose.yml
,其内容为
version: "3"
services:
tgbot:
image: kukume/tgbot
container_name: tgbot
ports:
- 8080: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
在该yaml
存在的目录下,db
目录为mongodb
的数据,备份只需备份这个文件夹即可。
启动
在docker-compose
的目录下
docker compose up -d
更新
在docker-compose.yml
的目录下执行以下命令
# 停止并清除容器
docker compose down
# 删除镜像
docker rmi kukume/tgbot
# 启动
docker compose up -d
指令
1、在@BotFather
发送/setcommands
2、选择自己的机器人
3、发送指令
这是我所设置的指令,你可以按照格式自行更改
login - 登录
manager - 管理
exec - 手动执行
delete - 删除登录的账号
update - 查看github提交记录
log - 查看自动签到日志
oci - Oracle Cloud管理
buff - 网易buff监控
uuyp - 悠悠有品监控
config - 用户配置
lolicon - lolicon图片
loliconmulti - 多张lolicon图片
push - 自定义消息推送
tool - 工具
ygo - 游戏王查卡
日志
有问题尽量提交日志。
机器人指令
/info
可查看发送人的id
,把id设置到creatorId
,/setting
中可下载日志/log
中可查看失败任务日志
日志文件
docker
在docker-compose.yml
存在的目录下,执行
docker compose logs > log.txt
其log.txt
为日志文件
更新
/setting
中可设置github
提交推送,提交即docker
镜像和jar
包更新,可能不稳定。
docker更新
在docker-compose.yml
目录下
docker compose down
docker rmi kukume/tgbot
docker compose up -d
18 条评论
请问有一键脚本吗
大佬,部署了之后发送 /start,但是点/login后想登录其中一个比如阿里云盘,点击之后就没反应了,想问问是什么原因?
/start 和 /login 都是有反应的吗?
https://github.com/kukume/tgbot#log 按照上面的给个日志给我吧
我点了下setting中的发送日志,然后就没反应了,也没弹出下载的提示?
使用/log命令的话,会提示“2023-11-10的自动签到日志,点击可查看详情”,下边是 无
本文章更新了一下日志获取方式,你看看能不能拿到。
找到问题了,照教程如下配置映射了config就会失败在设置时无反应,会否是因为文件权限问题?
./config:/opt/kuku/config这目录下的文件如果不修改spring原生的配置的话,并没有用处。得看日志才知道是什么原因。不用映射也没影响
今天又好了,大佬忽略吧,估计还是我环境的问题
我把磁盘映射给删掉了。如果需要更改spring的配置,应该会通过环境变量来配置。
刚刚用docker跑了一下,是没有问题的 或许开始是网有问题吧。
大佬,日志在上边,有空帮看下?
我就是去掉了这个配置,顺便把DB也删掉后再重建就可以了,我再试下
能多账户么
是自动签到的多账户登录吗?不支持,多账户的机器人交互太麻烦了。想不到什么简单的实现方式。
那就只有部署多个应用了
大佬 搭建完成手动选择运行 阿里云完成任务 好像完成不了任务啊
部署完后面直接在机器人操作吗,是否部署成功怎么看大佬
给你的机器人发送 /start 有反应就是成功了。