如何设置一个Telegram机器人,在特定时间自动删除频道里的旧帖子?
4 个回答
TG官方不支持机器人定时删除消息,这是个大问题。
你可以绕道而行:
1. 通过BotFather创建机器人,并赋予管理员权限;
2. 自己写脚本或找第三方(Python+telethon);
3. 配置定时任务,定时调用deleteMessage API;
4. 规避敏感词,防止风控;
5. 建议留一个归档栏目,防止重要信息被误删。
但是说实话这种方法容易被封号,操作之前一定要做好备份。
TG官方没有定时删帖功能,可以通过Bot和定时脚本实现。建议用Python写个脚本调用Bot API查找帖子的ID然后定时执行。关键步骤:
1. 新建bot并获取token;
2. 通过getHistory方法遍历频道历史帖子;
3. 判定发布时间是否超时;
4. 通过调用deleteMessage方法。
注意bot需要管理员权限并且开启删除权限。建议使用crontab或APScheduler定时任务。实际部署时请加入异常捕获和日志。
TG官方没有自动删帖机器人,可以自己搭建,具体如下:
1. 在BotFather中创建机器人,拿到token
2. Python脚本调用Telegram API定时遍历频道消息
3. 设定条件(7天前的消息等),满足条件的调用deleteMessage方法
4. 将代码部署到服务器,通过cron或者定时任务保持运行
需要符合TG机器人使用规范,不要触发风控。代码实现上需要处理消息id、时间戳等,具体看API文档。
Telegram官方不支持定时删帖,不过可以这样:
1. 编写用python-telegram-bot库的脚本。
2. 设置定时任务(crontab或APScheduler)
3. 获取频道历史消息id列表
4. 按时间筛选后调用deleteMessage API
5. 赋予机器人管理员权限,开启删除权限
避免触碰反垃圾机制,建议一天之内不要发两次以上。代码需要自己写,可参考网上的开源项目。TG营销避免违反群规则,不然容易被封号。做好备份,以免误删重要信息。