You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python语法错误求助:调用Telegram API时触发Invalid Syntax

问题排查与修复

核心错误点

  • f-string引号冲突:原代码用双引号包裹f-string,内部又直接使用双引号(即便转义也易出错),导致Python解析时触发语法错误。
  • 手动拼接JSON易出错:直接字符串拼接JSON格式的键盘,不仅容易出现引号问题,还可能因格式不规范导致Telegram API无法识别。
  • requests.get语句括号不完整:原代码最后一行的requests.get()调用缺少闭合括号,引发语法错误。

修复后的代码

import json
import requests
import urllib.parse

msgid = 123
# 用字典构建inline键盘结构,再转为标准JSON字符串
inline_keyboard = {
    "inline_keyboard": [
        [{"text": "Rename", "callback_data": f"/rename_link_start {msgid}"}]
    ]
}
obj = json.dumps(inline_keyboard)
obj2 = urllib.parse.quote_plus(obj)
# 补全括号,同时使用编码后的obj2作为reply_markup参数
hit = requests.get(
    f"https://api.telegram.org/bot{token}/sendMessage?chat_id={id}&text=streaam&reply_markup={obj2}"
)

关键说明

  • 用Python字典构建键盘结构,再通过json.dumps()转换为标准JSON字符串,彻底避免引号冲突和格式错误。
  • 必须用urllib.parse.quote_plus()对JSON字符串做URL编码,否则特殊字符会导致API请求失败。
  • 确保所有函数调用的括号完整匹配,避免低级语法错误。

内容的提问来源于stack exchange,提问作者Legend Akshay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:35:30