Github Action Telegram机器人工作流已配置密钥仍报错,求助排查
解决appleboy/telegram-action触发时"missing telegram token or user list"错误
针对你遇到的这个错误,结合工作流代码和配置情况,排查方向如下:
检查Secrets的拼写与大小写
GitHub Secrets是大小写敏感的,确保你在仓库中设置的密钥名称完全是TELEGRAM_TO和TELEGRAM_TOKEN,没有拼写错误(比如少字母、大小写不一致,比如写成telegram_token就会失效)。确认Secrets所在位置正确
如果当前工作流是在组织仓库下运行,要确认Secrets是设置在当前仓库的Secrets中,而不是组织级Secrets(除非你特意配置了组织Secrets的仓库访问权限);如果是个人仓库,直接检查仓库Settings -> Secrets and variables -> Actions下的列表是否存在这两个密钥。验证TELEGRAM_TO的格式正确性
to参数必须填写数字ID:- 个人用户ID:可以通过Telegram的@userinfobot获取
- 频道/群组ID:需要带
-100前缀的数字ID(比如-1001234567890),不能填@开头的用户名或频道名,否则会被识别为无效的用户列表。
尝试指定稳定版本的action
你当前使用的是appleboy/telegram-action@master,master分支可能包含未稳定的更新,建议替换为具体的稳定版本号,比如:uses: appleboy/telegram-action@v0.1.10调试Secrets是否被正确注入
可以在工作流中添加一个调试步骤,确认Secrets是否被正常读取(GitHub会自动掩码敏感内容,但能判断是否有值):steps: - name: Debug Secrets run: | echo "TELEGRAM_TO exists: ${{ secrets.TELEGRAM_TO != '' }}" echo "TELEGRAM_TOKEN exists: ${{ secrets.TELEGRAM_TOKEN != '' }}" # 原有的telegram-action步骤 - name: send telegram message on push uses: appleboy/telegram-action@v0.1.10 with: to: ${{ secrets.TELEGRAM_TO }} token: ${{ secrets.TELEGRAM_TOKEN }} message: | ${{ github.actor }} created commit: Commit message: ${{ github.event.commits[0].message }} Repository: ${{ github.repository }} See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}如果输出显示
false,说明对应Secrets未被正确注入,回到前面的步骤检查Secrets配置。
内容的提问来源于stack exchange,提问作者IronManAYaad
相关产品推荐
相关产品推荐

