morny-book/inline/share-twitter.md

7.5 KiB
Raw Blame History

Twitter 分享链接格式化

这个内联查询可以使输入的 twitter tweet 分享链接重新格式化为合法的 vxtwitter 分享链接, 同时也会去除 twitter 分享链接会附带的跟踪参数

被输出的 vxtwitter 分享链接即能够基于 telegram 自带的链接预览工具,达到分享 tweet 内容的效果。

输入

支持以下各种格式的 tweet 分享链接:

  • 标准的 tweet 链接 https://twitter.com/Twitter/status/1551967807428071431
  • 附带了跟踪参数的链接,例如但不限于使用 twitter 分享按钮时的默认链接 https://twitter.com/Twitter/status/1551967807428071431?s=20&t=IeYlNFDoXYi9WNk8BkJ3-A,相比于标准链接,其中 ?s=20&t=... 是跟踪参数
  • 简短twitter.com/Twitter/status/1551967807428071431
    • 也就是链接当中的 https:// 可以省略(如这个例子)
    • 也可以是 http://
  • vxtwitter/fxtwitter 为域名的 https://c.vxtwitter.com/Twitter/status/1551967807428071431 链接
    • 域名 c.vxtwitter.com 或是 vxtwitter.com 或是 fxtwitter.com 都受到支援
    • 域名 www.twitter.com 也是受到支援的
      • 但域名 www.vxtwitter.com (以及带有 www.fxtwitter 都) 并被支援
  • 带有 /photo 参数的链接也受到支援,例如 https://fxtwitter.com/Do_While02/status/1579516695320072192/photo/2/其实是来源于 fxtwitter的,但这个分享工具所基于的 vxtwitter 其实并不支持 photo 参数和单图片分享

(感觉写出来的就是一大坨好丑)

输出

将会被格式化

https://vxtwitter.com/Twitter/status/1551967807428071431 - 选项 [tweet] Share as VxTwitter
https://c.vxtwitter.com/Twitter/status/1551967807428071431 - 选项 [tweet] Share as VxTwitter(combination)

关于 combination method (官方说明摘抄) :
*combination_method - using c.vxtwitter as the url causes vxTwitter to combine all images in the post into one. *

格式化输出将会保留 Twitter/status/1551967807428071431 部分,根据选项组合域名 https://vxtwitter.com/ 或是 https://c.vxtwitter.com/

输入中的 ?s=20&t=...跟踪参数(目前来说是一切参数,可以看作是 ? 之后的一切)都会被丢弃掉。

目前,/photo 参数尽管会在输入中被解析,但并会被组合进结果当中,即它也是会被丢弃的参数 同时 vxtwitter 也本来就并不支援这个参数

尽管目前,这个分享工具使用的是 vxtwitter 服务,搭配 telegram 自身的链接预览分享 tweet 内容,但 vxtwitter 所提供的 tweet 正文在遇到长文本时,会截断长文本,导致分享出来之后只剩下了文本摘要和一个 ...

虽然其实twitter 自身的链接预览都不会有截断问题,尽管 twitter 自身的链接预览经常会获取不到预览内容)

出于这个问题,我们也正在设计一个更好用一点的,不依赖于 vxtwitter 的分享方式。


known issue

  • mobile.twitter.com 被 Morny 判定为非 twitter tweet 链接。

technic infomation

链接解析 所使用的 正则表达式 : ^(?:https?://)?((?:(?:c.)?vx|fx|www.)?twitter.com)/((\w+)/status/(\d+)(?:/photo/(\d+))?)/?(?[\w&=-]+)?$

vxtwitter version
inline query node info
title[tweet] Share as VxTwitter
id[morny/share/twitter/vxtwi]
cachedefault300
is_personaldefaultfalse
c.vxtwitter version
inline query node info
title[tweet] Share as VxTwitter (combination)
id[morny/share/twitter/vxtwi_combine]
cachedefault300
is_personaldefaultfalse