前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我开发了个自动发布资源的电报机器人!

我开发了个自动发布资源的电报机器人!

作者头像
Python进击者
发布2022-04-20 08:26:19
5.1K0
发布2022-04-20 08:26:19
举报
文章被收录于专栏:JAVAandPython君JAVAandPython君

大家好,我是kuls。

又有几天不见,上段时间建了一个电报群,有一部分小伙伴已经加进去了。

这个电报群主要做的是分享一些技术资源+程序员。

如果你不知道电报是啥,你可以加我微信私聊。

好了,回到正题。

当时想着如何让爬虫帮我去爬取一些资源,然后自动分享到电报群里呢?

当然爬虫爬取资源这个过程我就不详细讲了,你可以去找一些资源非常丰富的网站,然后对它进行爬取。爬取完成之后,对信息进行格式化,然后发送到群组里。

这篇文章的重点是来讲讲如何把资源发送到电报群。

其实电报这个app很火就是因为它的扩展性很强!

给我们提供了非常非常多的api接口。

其实我们这里也不需要去写太复杂的机器人,因为我们的需求就是将资源链接发送到指定的群组即可。当然除了这种功能,我们还可以去发送群管理机器人来对群组进行管理。如果点赞多,我们下次讲。

ok,那么我们第一步该怎么做呢?

我们首先搜索 @BotFather

然后在对话框里输入 /start

再输入 /newbot

自己写一个名字:

大家注意一定要以bot结尾哦~

如果你创建成功的话,会提示如下:

创建完毕后,我们就会有一个HTTP API,就是在我打码的地方。

这个东西非常有用!

我们新建一个群后,把我们创建的机器人拉进群中。

然后我们打开浏览器,访问:https://api.telegram.org/bot< YourBOTToken >/getUpdates

其中< YourBOTToken >这个填写的就是上面所给的HTTP API。

打开网页之后,我们会发现有个chat.id,这个就是我们需要的群组的id值,这个得看清楚是不是你的群组哦。

拿到了群组id就好办了。

这里开始,我们就得写代码了,这里我把所有代码粘出来:

代码语言:javascript
复制
import json
from urllib import request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
def sendmsg(sendtext):
    data = {
        "chat_id": "你的群组id",
        "parse_mode": "HTML",
        "disable_web_page_preview": "true",
        "text": str(sendtext)
    }
    data1 = json.dumps(data).encode(encoding='utf-8')
    url = 'https://api.telegram.org/bot你的API密钥/sendMessage'

    headers = {"Content-Type": "application/json"}
    proxies = {
        'https': 'https://127.0.0.1:1087', 
        'http': 'http://127.0.0.1:1087'
    }

    opener = request.build_opener(request.ProxyHandler(proxies))
    request.install_opener(opener)
    req = request.Request(url=url, headers=headers, data=data1)
    response = request.urlopen(req)

    print(response.read().decode())

其实大家可以发现这就是一个requests中的post请求。

对,没错。

我们只需要向该api中发送相应字段就可以发送消息至群组中了。

但是这里也有很多注意的点。

大家可以看到请求参数中有"parse_mode": "HTML",这也就是说电报是支持多种形式的信息的。也支持MD格式的。这个大家自由发挥。

除此之外,大家可能注意到了我使用了代理,对,因为你懂得,需要访问国外网站才行。

自己挂上你的本地代理就行,如果这个你不知道怎么操作,可以加我微信咨询我。

最终一个自动发资源的机器人就诞生了,我们直接运行项目就能够实施完美的执行了。

好了,今天的文章就到这啦,非常感谢大家的支持!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档