# examples — 多语言 iLink 调用示例 每个语言一份**单文件、可独立运行**的最小示例,覆盖同一套流程: ``` 扫码登录(get_bot_qrcode / get_qrcode_status) → 长轮询(getupdates) → 回声回复(sendmessage) ``` AI 后端接入点统一是 `askYourAI` / `ask_your_ai` / `AskYourAI` 这一个函数,默认是回声(echo),换成你自己的项目调用即可。 | 语言 | 文件 | 依赖 | 运行 | |---|---|---|---| | Python | [python/ilink_bridge.py](python/ilink_bridge.py) | `requests` | `python3 ilink_bridge.py` | | Go | [go/main.go](go/main.go) | 仅标准库 | `go run main.go` | | Java | [java/IlinkBridge.java](java/IlinkBridge.java) | JDK 11+ | `javac IlinkBridge.java && java IlinkBridge` | | C | [c/ilink_client.c](c/ilink_client.c) | libcurl | `gcc ilink_client.c -o ilink -lcurl && ./ilink` | | C++ | [cpp/ilink_client.cpp](cpp/ilink_client.cpp) | libcurl | `g++ ilink_client.cpp -o ilink -lcurl && ./ilink` | ## 共同约定 - 首次运行会打印二维码链接,用微信扫码确认后拿到 `bot_token`,写入本目录的 `bridge-state.json`(权限 600,**不要提交 git**) - 之后重启免扫码,直接进入长轮询 - 收到文本消息原样回声;游标 `get_updates_buf` 每轮落盘 - `errcode=-14`(会话过期)时退出并提示重新扫码(删掉 state 文件再运行) ## 有意省略的部分(保持示例简单) - **JSON 库**:Go/Python 用标准方案;Java/C/C++ 为了让示例零额外依赖,用了最朴素的字段提取,注释里标了位置——正式项目请换 Jackson / cJSON / nlohmann-json - **媒体消息**(图片/语音/文件的 AES-128-ECB + CDN):见 [../docs/03-messages-and-media.md](../docs/03-messages-and-media.md),字段细节以官方包源码 `src/cdn/` 为准 - **sendtyping / getconfig**:非必需,协议见 [../docs/02-ilink-protocol.md](../docs/02-ilink-protocol.md) 第 9 节 - 多 item(图文混排)只做了文本拼接,完整规范化模型见 03 文档第 7 节