bot

此项是bot的核心配置,决定了能否让bot成功运行

bot作为一个大项,它下面拥有许多子配置,其中有一些会特别说明:

bot
bot:
  bot-token: null # bot的token, 首次启动必填
  api-id:  # telegram的 api_id 可选,想用自己的api可以填,默认内置
  api-hash:  # telegram的 api_hash 可选,想用自己的api可以填,默认内置
  proxy: socks5://127.0.0.1:11112 # bot的代理设置,推荐socks5代理,http代理也可以,目前仅支持这两种代理
  ipv6: false #是否使用ipv6连接
  antiGroup: false # 是否开启防拉群模式,默认false
  strictMode: false # 严格模式,在此模式下,bot的所有按钮只能触发消息对话的那个人点,否则是全体用户权限均可点击。默认false
  bypassMode: false # 是否将bot设置为旁路模式,设置为旁路模式后,bot原本内置的所有指令都将失效。取而代之仅生效下面bot.commands配置的指令。关于旁路模式有什么用,请查阅在线文档。
  parseMode: MARKDOWN # bot的文本解析模式,可选值如下: [DEFAULT, MARKDOWN, HTML, DISABLED]
  inviteGroup: [] # invite指令权限覆写群组白名单,写上对应群组id,那个群所有人都将可以使用/invite指令,默认只能用户权限使用。 群组id以-100开头
  cacheTime: 60 # 订阅缓存的最大时长,默认60秒。一个订阅不会重复拉取,在60秒内使用缓存值,超过60秒重新获取。
  echoLimit: 0.8 # 限制响应速度,单位秒,默认0.8秒,即bot每0.8秒最多响应一条消息。每0.8/2秒内按钮最多响应一次
  inviteBlacklistURL: [] # 邀请测试里禁止测试的URL链接远程更新地址,多个用逗号隔开。样例: https://raw.githubusercontent.com/koipy-org/koihub/master/proxypool_url.txt
  inviteBlacklistDomain: [] # 邀请测试里禁止测试包含的域名远程更新地址,多个用逗号隔开。样例:https://raw.githubusercontent.com/koipy-org/koihub/master/proxypool_domain.txt
  autoResetCommands: false # 是否自动重置bot指令,默认false。开启后,每次启动时会清除原来固定在TG前端的指令
  commands: # bot的指令设置
    # 特殊情况说明:1. 当name=invite的内置规则 enable=false attachToInvite=ture rule=任意,会禁用内置的invite按钮
    # 2. 当name=invite的内置规则 enable=true attachToInvite=true rule=任意,text=任意,即可更改内置invite按钮的文本
    # 3. 当name=invite的内置规则 enable=true attachToInvite=true rule=invite内置规则 ,会复写内置invite的规则,后台会有DEBUG日志提示
    # 内置invite规则名称:['test', 'analyze', 'speed', 'full', 'ping', 'udptype']
    - name: "ping" # 指令名称
      title: "PING测试" # 绘图时任务标题
      enable: true # 是否启用该指令, 默认true。未启用时,无法使用该指令。
      rule: "ping" # 将该指令升级为测试指令,写对应的规则名,会读取你配置好的规则,读取不到则判定该指令为普通指令,而非测试指令。普通指令相当于 /help /version 这些,等于仅修改描述文本,而无实际测试功能
      pin: true # 是否固定指令,固定指令后会始终显示在TG客户端的指令列表中,默认false
      text: "" # 指令的提示文本,默认空时自动使用name的值
      attachToInvite: true # 是否附加到invite指令中选择的按钮,让invite也能享受到此规则背后的script选择,默认true
    - name: "nf"
      rule: "nf"
      enable: true
      pin: false # 不固定指令时,相当于隐藏指令,只有你自己知道

bot.api-id 与 bot.api-hash

  1. bot依赖于MTProto协议运行,接入官方Telegram平台时需要提供开发的API,bot.api-id 与 bot.api-hash是成对绑定的,要么不填,要么都填。

  2. 你可以前往这里获取自己api-id和api-hash 。但是IP最好干净,否则申请过程会提示“ERROR”

  3. api-id和api-hash属于敏感信息,请勿泄露。一旦泄露,TG账号被注销也无法重置!

bot.bot-token

  1. bot运行所必须的通信令牌

bot.proxy

  1. 你是否位于中国大陆等对Telegram访问受限的地区?那么这项配置就很有帮助,它可以让你通过socks5或http代理来访问Telegram,前提是你的代理服务器能连上Telegram。

  2. 通常情况下,socks5代理端口由Clash等代理软件提供

bot.inviteGroup

  1. 此项配置让 /invite指令的权限范围从用户降低到游客,但仅限你填入的群组id里的群组人员使用。群组id均为-100开头,TG群组id的获取请Google搜索

  2. 群组id获取方法,在想要的群组发送/id,就会有bot给你发送相关的群组信息,其中就有群组id

  3. 群组id如图所示

bot.ipv6

  1. 启用IPV6连接,对于某些地区网络连通性可能有优化,但也可能是负面效果,默认不启用(false)

bot.antiGroup

  1. 是否开启防拉群功能。bot运行期间,非管理员的拉群行为会提示,然后bot会自行退出那个群

  2. 开启后可以防止未经过同意把测试bot拉入其他群造成困扰

bot.strictMode

  1. 是否启用严格模式,在此模式下,bot的所有按钮只能触发消息对话的那个人点,否则是全体用户权限均可点击。默认 false

  2. 严格模式会对bot的执行策略产生影响,具体查看‘特性’一栏

  3. 严格模式产生的背景是,一个bot的按钮操作可以帮新手进行,这在/invite的操作流程得以体现。

bot.bypassMode

  1. 是否将bot设置为旁路模式,设置为旁路模式后,bot原本内置的所有指令都将失效。取而代之仅生效下面bot.commands配置的指令。

  2. 关于旁路模式有什么用,请查阅:旁路模式

bot.parseMode

  1. bot的文本解析模式。决定bot在发送消息或者处理消息时以什么格式进行处理

  2. 可选值如下: [DEFAULT, MARKDOWN, HTML, DISABLED]

    1. MARKDOWN 使用markdown语法进行解析

    2. HTML 使用html语法进行解析

    3. DEFAULT 以上两者混合模式,即都支持

    4. DISABLED 禁用文本解析

bot.cacheTime

  1. 订阅缓存的最大时长

  2. bot有订阅拉取缓存机制,当从远程地址获取一个订阅时,会先检查之前有没有缓存,如果有就不会重复请求获取。这种机制可以优化测试体验,让测试更丝滑。

bot.echoLimit

  1. 限制bot响应消息的频率

  2. 如果bot短时间内响应大量无用消息,这会造成更多的计算资源浪费,产生类似DDOS的效果。开启后可以过滤大量重复性或者超过响应频率的消息。

bot.inviteBlacklistURL

  1. 当使用/invite指令时,会对本次测试进行黑名单匹配,如果命中,则不允许继续测试

  2. 这个配置填一个远程链接,将用来获取链接对应的文件内容

  3. 文件内容应该每行为一个URL

  4. 此项配置个人使用场景用不到,一般是公开群组测试时用到

bot.inviteBlacklistDomain

  1. 和bot.inviteBlacklistURL配置类似,但是黑名单每行是域名,表示整个域名都是invite的黑名单范围,这对禁用测试某系列公共订阅/代理提供商尤为有效

  2. 此项配置个人使用场景用不到,一般是公开群组测试时用到

bot.autoResetCommands

  1. 是否自动重置bot固定的指令

  2. 在bot.commands的配置中,自定义指令在设置固定(commands[x].pin)时默认不会清除原有固定指令,此项配置可以改变此行为,让其每次设置指令是都先清除一遍原有指令

  3. 之所以有这个考虑,是因为旁路模式下,不同bot实例之间可能会互相设置指令,如果贸然清除原有固定的指令,可能会产生意想不到的bug

最后更新于