2.0 KiB
2.0 KiB
examples — 多语言 iLink 调用示例
每个语言一份单文件、可独立运行的最小示例,覆盖同一套流程:
扫码登录(get_bot_qrcode / get_qrcode_status) → 长轮询(getupdates) → 回声回复(sendmessage)
AI 后端接入点统一是 askYourAI / ask_your_ai / AskYourAI 这一个函数,默认是回声(echo),换成你自己的项目调用即可。
| 语言 | 文件 | 依赖 | 运行 |
|---|---|---|---|
| Python | python/ilink_bridge.py | requests |
python3 ilink_bridge.py |
| Go | go/main.go | 仅标准库 | go run main.go |
| Java | java/IlinkBridge.java | JDK 11+ | javac IlinkBridge.java && java IlinkBridge |
| C | c/ilink_client.c | libcurl | gcc ilink_client.c -o ilink -lcurl && ./ilink |
| C++ | 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,字段细节以官方包源码
src/cdn/为准 - sendtyping / getconfig:非必需,协议见 ../docs/02-ilink-protocol.md 第 9 节
- 多 item(图文混排)只做了文本拼接,完整规范化模型见 03 文档第 7 节