Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

频道渠道能否支持多个bottoken以规避telegram的发送频率限制? #117

Open
CityOx opened this issue Dec 8, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@CityOx
Copy link

CityOx commented Dec 8, 2024

功能需求

在tg频道发图时,tg对单个机器人有发送频率限制,具体参数不清楚,过快则报错,此时等一会重发就好了。能否环境参数配置多个token轮流发图,规避tg的限制呢?

额外请教

问题1 现在版本我是否可以这样:先将多个bot拉入同一个频道,然后在单个cf账户中部署多个项目,各自使用不同bottoken,但使用同一个kv库。这样当它们发图时写入到同一个kv库,访问图片时调用任意一个项目的url都可以获取到任何项目发送的图片?
问题2 使用自己域名cname到项目的原生cf地址,加了云朵配置好缓存后,是否就是走的cf缓存?我看cfstatus是hit的。

@MarSeventh
Copy link
Owner

MarSeventh commented Dec 9, 2024

针对你的需求,后续在优化多渠道出错重试时可以同步跟进。
关于两个问题:

  1. 理论上是可行的(如果同一频道中的所有文件都可以被任何一个bot访问的话),具体可能要麻烦您尝试一下,我还没有考虑到这个应用场景
  2. 是的,默认缓存时间为4小时,可以在缓存/Cache Rules中修改自定义的缓存时间

@CityOx
Copy link
Author

CityOx commented Dec 9, 2024

针对你的需求,后续在优化多渠道出错重试时可以同步跟进。 关于两个问题:

  1. 理论上是可行的(如果同一频道中的所有文件都可以被任何一个bot访问的话),具体可能要麻烦您尝试一下,我还没有考虑到这个应用场景
  2. 是的,默认缓存时间为4小时,可以在缓存/Cache Rules中修改自定义的缓存时间

试了下问题1的猜测,没办法访问到,尝试了将新项目的图片链接前面替换为老项目的原生域名或者自己cname域名都不可以,新项目原生域名的链接可以正常访问到,新旧项目都是采用同一个kv库。两个项目对应的bot都已拉进同一个频道,赋予了相同的管理员权限。
网页访问报错:Error: Failed to fetch image path

@MarSeventh
Copy link
Owner

MarSeventh commented Dec 9, 2024

针对你的需求,后续在优化多渠道出错重试时可以同步跟进。 关于两个问题:

  1. 理论上是可行的(如果同一频道中的所有文件都可以被任何一个bot访问的话),具体可能要麻烦您尝试一下,我还没有考虑到这个应用场景
  2. 是的,默认缓存时间为4小时,可以在缓存/Cache Rules中修改自定义的缓存时间

试了下问题1的猜测,没办法访问到,尝试了将新项目的图片链接前面替换为老项目的原生域名或者自己cname域名都不可以,新项目原生域名的链接可以正常访问到,新旧项目都是采用同一个kv库。两个项目对应的bot都已拉进同一个频道,赋予了相同的管理员权限。 网页访问报错:Error: Failed to fetch image path

那目前看来应该是每个机器人只能访问自己发送的文件,所以不能互相访问

Telegram 的 Bot API 不允许机器人直接访问其他机器人的消息(包括文件)或其生成的内容,除非这些内容是显式转发给目标机器人或通过其他途径(如 REST API)共享。
一个机器人无法监听或获取其他机器人的特定活动,即使两个机器人都在同一个频道或群组中。

@MarSeventh MarSeventh added the enhancement New feature or request label Dec 11, 2024
@CityOx
Copy link
Author

CityOx commented Dec 12, 2024

针对你的需求,后续在优化多渠道出错重试时可以同步跟进。 关于两个问题:

  1. 理论上是可行的(如果同一频道中的所有文件都可以被任何一个bot访问的话),具体可能要麻烦您尝试一下,我还没有考虑到这个应用场景
  2. 是的,默认缓存时间为4小时,可以在缓存/Cache Rules中修改自定义的缓存时间

试了下问题1的猜测,没办法访问到,尝试了将新项目的图片链接前面替换为老项目的原生域名或者自己cname域名都不可以,新项目原生域名的链接可以正常访问到,新旧项目都是采用同一个kv库。两个项目对应的bot都已拉进同一个频道,赋予了相同的管理员权限。 网页访问报错:Error: Failed to fetch image path

那目前看来应该是每个机器人只能访问自己发送的文件,所以不能互相访问

Telegram 的 Bot API 不允许机器人直接访问其他机器人的消息(包括文件)或其生成的内容,除非这些内容是显式转发给目标机器人或通过其他途径(如 REST API)共享。
一个机器人无法监听或获取其他机器人的特定活动,即使两个机器人都在同一个频道或群组中。

期待大佬添加多个token轮流发图的特性,比心

@xxcyou3
Copy link

xxcyou3 commented Jan 4, 2025

kv数据结构可以是,键等于xxxxx.jpg, key= bottoken@频道ID@文件ID
变量可以是json格式,可以多个[{bottoken,频道ID},{bottoken2,频道ID}]数组,这样可以写一个按钮是否随机或指定,或顺序发图

@CityOx
Copy link
Author

CityOx commented Jan 4, 2025

kv数据结构可以是,键等于xxxxx.jpg, key= bottoken@频道ID@文件ID

变量可以是json格式,可以多个[{bottoken,频道ID},{bottoken2,频道ID}]数组,这样可以写一个按钮是否随机或指定,或顺序发图

后来我仿造作者函数重写了一个,直接path传参fileid,这样就不需要kv了。另外多token也实现了,确实能规避速率限制。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants