Skip to main content

12306车票查询机器人,助你漫漫回家路

Project description

nonebot-plugin-12306-ticket

✨12306车票查询机器人,助你漫漫回家路✨

GitHub Repo stars GitHub License GitHub last commit Static Badge PyPI - Version

📖 介绍

这是一个查询12306列车余票及其票价的机器人插件,持续更新中

它可以在你跟群友唠嗑的时候,顺便把火车票给查了。如果暂时没票,可以设定一个定时任务,它会持续帮你查询

有些功能因为特殊原因,没有进行全面的测试,如果出现Bug,请您及时进行反馈

本插件与nonebot-plugin-railwaytools插件互补使用更佳

💿 安装

Required

  • Python >= 3.11

  • Nonebot 2 >= 2.4.4

使用 nb-cli 安装 在nonebot2项目插件目录下,打开命令行,输入以下安装命令
nb plugin install nonebot-plugin-12306-ticket
使用pip安装 在nonebot2项目插件目录下,打开命令行,输入以下安装命令
pip install nonebot-plugin-12306-ticket
使用git clone安装 可以将本项目克隆到你已经建立好的Nonebot机器人的目录内,并在project.toml中配置好本插件的安装目录
git clone https://github.com/leaf2006/nonebot-plugin-12306-ticket.git

🎉 使用

指令表

指令 权限 需要@ 范围 说明
/车票 【出发站】 【到达站】 【日期(选填)】 群员 群聊、私聊 查询从出发站至到达站间的列车票价及余票数量
/定时查询 【出发站】 【到达站】 【日期(选填)】 【列车出发时间范围 H-H(可选)】 【持续查询时间(分钟/小时)】 群员 群聊、私聊 定时查询车票情况
/取消查询 群员 群聊、私聊 取消定时查询任务

选填的【日期】可以填以下几种格式,如不填日期或所填日期小于今天,一律默认为今天

  • 今天明天
  • 2026-03-12
  • 2026年3月12日

【列车出发时间范围】示例:14-18,即时间范围为14时到18时

【持续查询时间】示例:30分钟/1小时

效果

1.普通查询

🤵:/车票 上海 杭州 明天
🤖:正在加载,请耐心等待...

🤖:
@user_name 信息如下:
------------------------------
【1】G547(北京南——上海虹桥)
北京南 06:18 —— 12:11 上海虹桥,历时05:53分
二等座:¥553  有
一等座:¥930  有
商务座:¥1873  11张
无座:¥553  有
------------------------------
【2】G1(北京南——上海虹桥)
北京南 06:30 —— 11:24 上海虹桥,历时04:54分
二等座:¥662  有
一等座:¥1060  无
商务座:¥2318  无
无座:¥662  18张
------------------------------
【3】G3(北京南——上海)
北京南 06:52 —— 11:33 上海,历时04:41分
二等座:¥669  有
一等座:¥1070  无
商务座:¥2341  5张
无座:¥669  有
------------------------------
【4】G565(北京南——上海虹桥)
北京南 07:07 —— 13:12 上海虹桥,历时06:05分
二等座:¥576  有
一等座:¥969  有
商务座:¥1998  有
无座:¥576  有
------------------------------
【5】G549(北京南——上海虹桥)
北京南 07:13 —— 13:03 上海虹桥,历时05:50分
二等座:¥598  有
一等座:¥969  有
商务座:¥1998  18张
无座:¥598  有
------------------------------
【6】G5(北京——上海)
北京 07:42 —— 12:32 上海,历时04:50分
二等座:¥673  有
一等座:¥1076  无
商务座:¥2354  12张
无座:¥673  有
------------------------------
【7】G597(北京南——上海虹桥)
北京南 07:42 —— 13:49 上海虹桥,历时06:07分
二等座:¥576  有
一等座:¥969  有
商务座:¥1998  17张
无座:¥576  有
------------------------------
【8】G37(北京南——杭州东)
北京南 07:52 —— 12:35 上海虹桥,历时04:43分
二等座:¥626  有
一等座:¥1035  有
商务座:¥2318  15张
无座:¥626  有
------------------------------
【9】G5(北京——上海)
北京南 07:59 —— 12:32 上海,历时04:33分
二等座:¥669  有
一等座:¥1070  无
商务座:¥2341  12张
无座:¥669  有
------------------------------
【10】G599(北京南——上海虹桥)
北京南 08:15 —— 14:14 上海虹桥,历时05:59分
二等座:¥576  有
一等座:¥969  有
商务座:¥1998  12张
无座:¥576  有
------------------------------
---【当前第1页,共6页】---
数据来源:12306.cn

🤖:如需继续查看,请输入 /下一页,五分钟内有效

如用户想继续查看,可以输入命令/下一页next

2.定时查询

🤵:/定时查询 南京南 湖州 2026年4月6日 18-19 1小时
🤖:@user_name ❌抱歉,您查询的南京南到湖州,18时到19时暂时无票
     1小时后将再次查询
🤖:@user_name ❌抱歉,您查询的南京南到湖州,18时到19时暂时无票
     还将进行9次查询
     ...

如果有票,会输出有票的车次,如果有票的车次较多、票源充足,则仅输出前10条数据

🤵:/定时查询 南京南 湖州 2026年4月6日 9-15 1小时
🤖:@user_name ⭐您查询的南京南到湖州,9时到15时车票十分充足!以下仅显示部分车次:
【1】G3029(商丘——丽水)
南京南 09:33 —— 10:32 湖州,历时59分
二等座:¥94  1张
一等座:¥153  无
商务座:¥295  无
无座:¥94  无
------------------------------
【2】G7691(合肥南——江山)
南京南 09:44 —— 10:37 湖州,历时53分
二等座:¥94  有
一等座:¥153  18张
商务座:¥295  7张
无座:¥94  有
------------------------------
【3】G7605(徐州东——杭州东)
南京南 09:54 —— 10:54 湖州,历时1小时整
二等座:¥94  有
一等座:¥153  有
商务座:¥295  5张
无座:¥94  有
------------------------------
【4】G645(济南东——南昌西)
南京南 10:00 —— 11:01 湖州,历时1小时1分
二等座:¥94  有
一等座:¥153  10张
商务座:¥295  2张
无座:¥94  有
------------------------------
【5】G7619(徐州东——瑞安)
南京南 10:10 —— 11:09 湖州,历时59分
二等座:¥102  有
一等座:¥163  有
商务座:¥324  6张
无座:¥102  无
------------------------------
【6】G7695(淮北——江山)
南京南 10:15 —— 11:42 湖州,历时1小时27分
二等座:¥102  有
一等座:¥163  有
商务座:¥324  6张
无座:¥102  无
------------------------------
【7】G7755(亳州南——杭州东)
南京南 10:27 —— 11:37 湖州,历时1小时10分
二等座:¥102  有
一等座:¥163  10张
商务座:¥324  3张
无座:¥102  无
------------------------------
【8】G1097(济南——温州南)
南京南 10:32 —— 11:27 湖州,历时55分
二等座:¥102  3张
一等座:¥163  无
商务座:¥324  无
无座:¥102  无
------------------------------
【9】G1731(济南东——苍南)
南京南 10:42 —— 11:48 湖州,历时1小时6分
二等座:¥94  3张
一等座:¥143  9张
商务座:¥268  无
无座:¥94  无
------------------------------
【10】D2293(南京南——深圳北)
南京南 10:57 —— 12:17 湖州,历时1小时20分
二等座:¥68  有
一等座:¥109  10张
无座:¥68  有
------------------------------

3.子命令

前面1、2两条命令,都支持在其末尾加入以下两条子命令:

  • -精确站名:查询结果将完全匹配用户输入的发站、到站
  • -精确发站:查询结果将仅匹配用户输入的发站
  • -精确到站:查询结果将仅匹配用户输入的到站

示例:

🤵:/车票 上海 杭州 明天 -精确到站
🤖:正在加载,请耐心等待...

🤖:
@user_name 信息如下:
------------------------------
【1】Z175(哈尔滨西——杭州)
上海松江 04:08 —— 05:50 杭州,历时1小时42分
硬座:¥23.5  有
硬卧:¥69.5  有
软卧:¥104.5  有
无座:¥23.5  有
------------------------------
【2】K8351(连云港东——杭州)
上海松江 04:45 —— 06:31 杭州,历时1小时46分
硬座:¥23.5  有
硬卧:¥69.5  有
软卧:¥104.5  17张
无座:¥23.5  有
------------------------------
【3】K47(齐齐哈尔——杭州)
上海松江 06:07 —— 08:09 杭州,历时2小时2分
硬座:¥23.5  有
硬卧:¥69.5  有
软卧:¥104.5  有
无座:¥23.5  有
------------------------------
【4】K5837(徐州——衢州)
上海松江 06:41 —— 08:47 杭州,历时2小时6分
硬座:¥23.5  有
硬卧:¥69.5  有
无座:¥23.5  有
------------------------------
【5】C481(上海南——庆元)
上海南 06:56 —— 08:37 杭州,历时1小时41分
二等座:¥49  有
一等座:¥77  有
无座:¥49  有
------------------------------
【6】D17(北京——杭州)
上海松江 07:37 —— 09:12 杭州,历时1小时35分
二等座:¥29  有
一等卧:¥153  有
二等卧:¥120  有
无座:¥29  有
------------------------------
【7】D181(青岛北——杭州)
上海松江 08:00 —— 09:34 杭州,历时1小时34分
二等座:¥29  无
一等卧:¥153  有
二等卧:¥120  有
无座:¥29  有
------------------------------
【8】C403(上海南——诸暨)
上海南 08:29 —— 10:13 杭州,历时1小时44分
二等座:¥49  有
一等座:¥77  有
无座:¥49  有
------------------------------
【9】Y701(上海西——杭州)
上海西 08:53 —— 11:32 杭州,历时2小时39分
硬座:¥29.5  有
无座:¥29.5  无
------------------------------
【10】Z281(包头——杭州)
上海松江 08:54 —— 10:36 杭州,历时1小时42分
硬座:¥23.5  有
硬卧:¥69.5  有
软卧:¥104.5  17张
无座:¥23.5  有
------------------------------
---【当前第1页,共3页】---
数据来源:12306.cn

/定时查询功能亦同理

⚠️ 已知问题

  • Bot回复速度较慢,还需等待后续修复

🔜 TODO

  • 加入对显示该列车是否支持候补的支持
  • 加入显示某些特殊坐席的支持,如T7785(杭州——兰溪)的二等软座、一等软座,还会显示为二等座、一等座
  • 加入学生票查询

Copyright © Leaf developer 2023-2026,遵循MIT开源协议

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_12306_ticket-0.1.2.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_12306_ticket-0.1.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_12306_ticket-0.1.2.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_12306_ticket-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7fb398be44730d015177f103578d22ca71f5cb18770cf83c77b5db32e7d5be5b
MD5 f62a5cfc0605126f5e6352a5426c03e5
BLAKE2b-256 297a02f654c0a14466abc028f43da020645ca6b614dfbf133e29bdbe110ec8e7

See more details on using hashes here.

File details

Details for the file nonebot_plugin_12306_ticket-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_12306_ticket-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd0547593fd093418d31bcf0b9c7fcc12b426d71ab9457196ec58ddd73410ab
MD5 ee020c4123abc5f0734d45e027b9989a
BLAKE2b-256 93a72d57744cb4c55a2c5975f57887238c40d3c511fd66c3a05a480b9cd27b9f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page