八年之后的后续:如何使用Python发送TG消息给指定用户

in HIVE CN 中文社区13 hours ago

八年前正是自己精力旺盛且雄心勃勃的时光,那时候搞了许多乱七八糟的东西,比如微信上的萌蛋机器人,以及微信公众号等等。

telegram-6160479_960_720.png
(图源 :pixabay)

虽然这些东西都疏于维护,渐渐地无人使用了,但那时候觉得这些还不够,我还要搞Telegram机器人,Discord机器人,总之能搞的都想搞一遍,不然怎么浪费生命呢?

于是就有了以下两篇文章:

要说这个TG Echo 机器人有啥用?答案是几乎啥用没有!为啥用几乎呢?因为这个机器人让我了解和熟悉了TG机器人创建的流程。

其实后来我是想有一番作为的,奈何网络原因,好久登陆不了TG,就把它丢在一边了,而这一丢就是八年之久!

在之前的一篇文章《一个超级简单的见证人监控报警装置》,我提到了一个完善的报警装置除了让报警器发出蜂鸣声警示之外,应该也能发TG消息或者短消息来提示用户。然后我就想到如何用程序发消息给TG用户(比如说自己呢?)

于是我又想起我丢了八年之久的TG ECHO机器人,是不是在这这个基础之上改改,就可以啦?

之前Echo机器人的代码:

from telegram.ext import Updater
updater = Updater(token='xxxx')

dispatcher = updater.dispatcher

def echo(bot, update):
        bot.send_message(chat_id=update.message.chat_id, text=update.message.text)

from telegram.ext import MessageHandler, Filters
echo_handler = MessageHandler(Filters.text, echo)
dispatcher.add_handler(echo_handler)

updater.start_polling()

先不说其它,很简洁易懂是真的。

但是如果我们只是给指定TG用户(比如自己)发一些报警之类的小心,貌似代码可以更简单,甚至不用TG的库。

要实现这个目标,核心工作大概三点:

  • 创建bot
  • 获取TG用户的chat_id
  • 用程序发消息给用户

创建bot

八年前的文章已经讲述得很清楚啦,只需添加@botfather,然后按提示信息一步步操作即可。

创建成功后,我们会得到类似533956420:AAG3d0BgHFHjZLhPsGu4feCBNhWHFNpHZ24这样的bot Token

dd50e5cae9b0613bd0a99d156a9f4ecc.png

获取TG用户的chat_id

之后我们可以添加这个cutehive_bot,并发个信息给它

17949829e37b4aa91acb2bd46532d076.png

然后访问,https://api.telegram.org/bot<你的TOKEN>/getUpdates,就可以获取对应TG的chat_id啦。

ff510609f083f25caa24d57a793993cd.png

发消息给用户

以下是一段超级简单的测试代码:

import requests
BOT_TOKEN = "533956420:AAG3d0BgHFHjZLhPsGu4feCBNhWHFNpHZ24"
CHAT_ID = "30xxxxxx"
TEXT = "欢迎欢迎呀!"

url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"

payload = {
    "chat_id": CHAT_ID,
    "text": TEXT
}

response = requests.post(url, data=payload)
print(response.json())

我们来运行一下

ed3c99cd721919c75914f71eab895bdf.png

搞定!

telegram-6212780_960_720.png
(图源 :pixabay)

搞懂了这个流程,就可以在我之前那个超级简单的见证人监控报警装置中添加发送报警信息给自己啦。

其实除了用来监控见证人丢块,我们可以在任何监控到重要事件时给自己发送TG消息,比如说监控到有人艾特我,又或者监控到有人给我转账10000个HIVE😍,等等等。

再也不用去钱包天天查看有没有人给我转账啦。嗯,没错,回头一定要实现这个功能,打造自己独一无二的HIVE小助手!

相关链接

Sort:  

😍😍😍😍😍

来呀,一起玩起来

似懂非懂的路过

欢迎路过

对于O哥,果然这是非常简单的事情

哈哈,简单的事情拖了八年

👍🏻👍🏻

转 10000 个 HIVE 啊😯巨款啊🤩哈哈哈

Well done @oflyhigh !

Kind Regards,

Bleujay

I really need to dig into some more Python coding. I was really into it for a short time after not having coded for a couple of decades, then I kind of got busy with other stuff.