用AHK实现TG推送。

看见论坛中有相关的帖子,搜索了下发现还算简单的
于是用AHK写了个相关函数。直接调用就行了(真不是。)

首先这需要你自建个机器人,这里简单说下看不明白的上网搜下吧

1,创建机器人

打开链接 https://t.me/botfather 或在TG中搜索 @botfather
依次输入
/start
/newbot
输入机器人名称(可重复)
输入机器人ID (不可重复)
/mybots (因为我已经申请过了)
点击申请的机器人
点击API Token
会给你一串 字符,保存起来

2,访问机器人

上述操作最后会给你一个这样的
Here is the token for bot *** @**
@** 就是你创建的机器人,点击访问
输入 /start

3,获取自身ID

3.1

访问 https://t.me/getidsbot
输入 /start 会返回给你 id: ****

3.2

或者访问 https://api.telegram.org/bot****/getUpdates (星号就是上面保存的token )
其中也有 id":*** 的字样
用上述一种方法获取 id 并保存起来

具体代码

TGPush(string)
	{
	chat_id = ***** ;用保存的ID代替
	token = ***** ;用保存的token代替
	proxy = 127.0.0.1:1081 ;  众所周知,用你本地或在线的HTTP代理代替
	push = https://api.telegram.org/bot%token%/sendMessage?chat_id=%chat_id%&text=%string%

	WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
	WebRequest.Open("GET", push)
	WebRequest.SetProxy(2, proxy)
	WebRequest.Send()
	Return % WebRequest.ResponseText ;此行会返回结果,不要可删了
	}

调用

TGPush("需要推送的文本")
或者

text = 需要推送的文本
TGPush(text)

具体怎么调用就不多说了
需要返回的

s := TGPush("需要推送的文本")
msgbox % s ;测试返回,具体怎么用随便
5 Likes

有神马应用场景嘛

我自己都想不到啥应用……
我删除的帖子里有个推送aria2任务完成的通知,一想全是18x的.而且这个实现的也有很多种方法也就删了

我自己都不用server酱所以也就想不到有啥应用.

本质上和server酱一样是用任意方式访问 (浏览器之类)https://api.telegram.org/bot%token%/sendMessage?chat_id=%chat_id%&text=%string 就能推送.
这个只是包装一下方便调用而已.

如果说应用场景,server酱什么场景TG的bot就是什么场景。
iOS推送消息有一个选择是Bark,问及安卓有无类似的app时,总会有人说TG的bot一样很方便,用起来类似server酱。
如果你选择TG的bot,那么此文可以让你有多一种方式向它推送消息。

你这绕来绕去的,究竟表达了什么?

Server酱 和 TG bot 的基础调用方法是基本一致的,都是用 get 方法向给定网址传送信息即可。

(因为刚才发现这条回复中没有显示出来我回复的是谁,所以特别补充一下,这条是回复上面 @xiozf 那一条内容的

其实就一点,自建不依赖服务器。
自建而不是直接用其他人的机器人就是方便推送一些敏感或保密的东西。
当然也不是说非要推送这些。
不需要服务器意味着任何人都能自己做到。
我文中自己的相关ID之类都用*号代替了就是想让大家自建。

挺赞的,以后有网络请求类的需求,我大概会过来抄代码

如上所示。