3.6 KiB
3.6 KiB
| name | description | argument-hint |
|---|---|---|
| stock | 当用户发送「股票 代码」或「gp 代码」时触发。调用腾讯股票行情接口获取实时数据,再调用本地微信机器人发消息接口把股票信息发给当前用户。 | 参数为股票代码,例如 600519 或 sz000001 |
Stock Skill
描述
这是一个用于查询股票实时行情并直接发送给当前用户的技能。
当用户发送 股票 600519 或 gp sz000001 时,调用腾讯股票行情接口获取实时数据,再调用本地微信机器人接口把格式化后的股票信息发出去。
这个仓库里额外提供了一个可执行脚本 scripts/stock.py,方便宿主机器人直接调用。
触发条件
- 用户发送
股票 <股票代码>或gp <股票代码> - 股票代码可以是纯数字(如
600519),也可以带市场前缀(如sh600519、sz000001)
接口信息
- 获取股票行情:
https://qt.gtimg.cn/q={stock_code} - 请求方式:
GET - 发消息接口:
http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text - 请求方式:
POST - 本地脚本:
scripts/stock.py
腾讯股票行情返回示例
v_sh600519="1~贵州茅台~600519~1945.50~1942.00~1941.00~1946.80~1940.02~1945.71~4291131~8365444900~183~1945.60~826~1945.59~649~1945.58~699~1945.57~589~1945.56~1449~1945.71~1014~1945.72~722~1945.73~369~1945.74~471~1945.75~202~1945.76~2026-05-19~15:00:00~00~-1.18~-0.06~1945.50~1906.02~1945.50~1895216~4901415~1.22~836544.4900~18.55~403727.15~0.37~107.86~15.03~232.10~10.49~10.61~PB~0.23~0.53~-0.22~10.99~1945.50~1900.16~~ 1044479.27~1.22~1895216~4901415~0.06~10.47~10.49~10.61~0.01~-82.56~1945.50~1906.02~0.03~-0.06~1945.50~-0.39~1942.00~1036.50~1.88~181580~185384~1945.50~1900.16~0.00~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~"
字段说明
| 索引 | 含义 |
|---|---|
| 1 | 股票名称 |
| 2 | 股票代码 |
| 3 | 当前价格 |
| 4 | 昨收价 |
| 5 | 今开价 |
| 6 | 成交量(手) |
| 7 | 成交额(万) |
| 8 | 最高价 |
| 9 | 最低价 |
| 10 | 涨跌额 |
| 11 | 涨跌幅(%) |
环境变量
ROBOT_WECHAT_CLIENT_PORT:本地微信机器人服务端口。ROBOT_FROM_WX_ID:当前消息来源用户的 wxid。
执行步骤
- 当用户发送
股票 <代码>或gp <代码>时触发该技能。 - 在仓库根目录下执行本地脚本:
python3 scripts/stock.py <股票代码>。 - 脚本内部自动处理股票代码格式(补全市场前缀 sh/sz)。
- 脚本发送
GET请求到https://qt.gtimg.cn/q={stock_code}。 - 脚本解析返回的行情数据,提取关键字段。
- 脚本从环境变量中读取
ROBOT_WECHAT_CLIENT_PORT和ROBOT_FROM_WX_ID。 - 脚本发送
POST请求到http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text,请求体为:{ "to_wxid": "{ROBOT_FROM_WX_ID}", "content": "【{股票名称}({股票代码})】 当前价:{当前价格} 涨跌幅:{涨跌幅}% 涨跌额:{涨跌额} 最高:{最高价} 最低:{最低价} 今开:{今开价} 昨收:{昨收价} 成交量:{成交量} 成交额:{成交额}" } - 如果任一步骤失败,回复兜底文案:
股票查询失败,请稍后再试。
回复要求
- 成功时,直接发送格式化股票信息,不要额外追加解释文字。
- 失败时,使用固定兜底文案回复。