电报机器人开发与部署Telegram创建Bot方法及相关配置-电报telegram技巧分享

电报机器人配置



一、为什么要开发电报机器人

事情的发展是这样的,对于某些特定的事件,我需要知道它当前的状态和将来大概的状态,根据这些状态做出反响。好比一小时后即将下雨,我将收到带伞的通知。在2012年,我的做法是使用IFTTT(If this, then that),在这个平台上,我可以设置假如有雨,那么给我发邮件要么短信。在其时看来,以为自己很潮流,但在别人眼中,我就是个给自己制造垃圾邮件的Nerd。

到了2015年,我有了开发本领,开始打仗微信相关的接口和社区开源代码,于是摆设了自己的微信机器人。相较于IFTTT,设置条件不再受限,我可以从网上抓取我关注的信息,一有变更,就通过微信发送给自己,可以是向机器人主动扣问,也可以是被动吸收通知。此时小同伴们的态度有了变化,都以为这个工具很神奇,同时,需要社群运营的小同伴也找到我,盼望我能帮他们做一些微信社群管理的机器人,在这期间,微信机器人的劣势也显现出来——微信官方不勉励使用机器人,天天需要重启机器人,对于一些运营号动辄封号,辛劳运营了好久的微信号说没就没。

虽然我很早就开始打仗数字钱币,但开始关注电报(Telegram)却是2018年,我发现电报对机器人是拥抱的态度,提供了非常具体的文档和帮助,甚至另有一个专门用来创建机器人的机器人——BotFather。之前微信机器人的缺点一扫而空,接下来就开始了我的电报机器人开发之路,这是一条孤单又布满宝藏的道路。

通过阅读本文,你将拥有开发浅易电报机器人的本领。假如你对本文有任何疑问要么有互助意向,欢迎私信联系。


二、电报机器人能做什么

前文说到,我为了获取信息而做的一系列挣扎,最终选择了合适我的方案。在信息年代,提前拥有信息,就可以或许使用信息不对称赢利,信息的重要性可见一斑。机器人不但可以或许获取信息,还能分析、管理信息。除此之外,电报机器人还提供了很多大概性。

1、获取、分析、管理信息。

2、用户管理、社群运营。

3、应用、小游戏、支付等。


三、开始动手开发机器人

首先,预备开发环境,由于Node.js开箱即用,不需要设置庞杂的环境变量,因此本教程以Node.js为主。固然其他语言也是可以实现的。进入 Node.js官网 下载最新版本,无脑安装即可。

打开下令行工具,验证环境是否预备好:

以及:

你将看到你已经安装的版本号,完成这一步之后,就可以开始动手开发了。

新建一个项目文件夹,在下令行中进入该文件夹,初始化项目:


然后根据提示填写信息即可,有些不确定的信息,默认即可,完成后,安装开源项目:


npm install telegram-bot-api --save

稍等半晌,去喝杯茶。

至此,开发环境已经完成,在开始写详细代码前,我们需要使用电报创建一个机器人。下载、注册、登陆就一带而过了(需要科学上网)。找到BotFather,发送“/start“,向它申请创建机器人:


最后天生的密钥,需要你记载并保存好,我们会用到它来开发机器人。



如今,电报上机器人已经创建完毕了,你可以找到并和自己的机器人聊天,但现在,你的机器人还没有任何智力,也无法给你反馈。

我们在项目文件夹中创建一个文件index.js:



const


telegram


=


require


(


'telegram-bot-api'


)


//2.0.0


const


teleBotToken


=


"XXX"


// 换成你的Token


const


api


=


new


telegram


({


token


:


teleBotToken


})


const


mp


=


new


telegram


.


GetUpdateMessageProvider


()


api


.


setMessageProvider


(


mp


)


api


.


start


().


then


(()


=>


{


console


.


log


(


'API is started'


)


})


.


catch


(


console


.


err


)


api


.


on


(


'update'


,


update


=>


{


// 处置信息逻辑


let


message


=


update


.


message


if


(


message


.


text


)


{


const


msgParam


=


{


chat_id


:


message


.


chat


.


id


,


text


:


message


.


text


}


api


.


sendMessage


(


msgParam


)


}


})


运行:

假如没有报错的话,我们的机器人就运行成功,可以看一下效果,一个复读机就上线了:



四、机器人的摆设

像上面所说,在当地运行机器人既不稳定,也不环保。我建议将你的机器人摆设在云上,为此,你先要有一台国外云服务器,搭配PM2来管理机器人的状态:

插播一下程序员情怀时候:


__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__

安装完毕后,在当前文件夹运行:


pm2 start index.js --name rb_bot

运行成功后,你将看到:


┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 0 │ rb_bot │ fork │ 0 │ online │ 0.1% │ 40.1mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

使用pm2可以方便地管理种种应用,详细操作可以去 PM2官网 看看。


五、写在最后

我能不能从零写一个自己的APP,用来处置这些信息呢?完全可以,但着力不讨好。这样需要开发一系列的轮子,出于服从和获客的考量,我选择了电报这个平台。我们站在巨人的肩膀上,才能做出更出色的事。假如微信对机器人持开放态度,那么我会思量重新开始做微信机器人,但在这之前,电报大概是最合适方案。

软件层面的机器人用途极其广泛,基本上可以处置全部信息问题,甚至可以和物联网联动,完全取决于你的想法。固然,它也有范围性,对于前端交互要求较高的应用,还是老诚实实写APP比较好。

合适自己的才是最好的。

预备工作

注册

  • 打开telegram搜索“BotFather”
  • 输入消息窗口敲入以下下令

/newbot

表现:Alright, a new bot. How are we going to call it?

Please choose a name for your bot.

这里我们输入任意名称

会提示:Good. Now let’s choose a username for your bot. It must end in

bot

. Like this, for example: TetrisBot or tetris_bot.

  • 名称格式要求为:TetrisBot or tetris_bot
  • 输入 share45_bot 可以根据需求定名

    • 假如表现:Sorry, this username is invalid.就需要变动
    • 直到表现:Done! Congratulations on your new bot. You will find it at

      t.me/share45_bot

      . You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

    Use this token to access the HTTP API:

    xxxxxxxxxxxx 此处为api密钥(重要)

    Keep your token secure and store it safely, it can be used by anyone to control your bot.

    For a description of the Bot API, see this page:

    https://core.telegram.org/bots/api

    Snipaste_2019-06-27_19-07-36

    机器人信息设置

    /mybots

  • 就会出现我们创建的机器人列表,这里我们直接点击需要编辑的机器人名称即可。
  • 会表现六个选项:

    API Token:表现api密钥

    Edit Bot:编辑机器人

    Bot Settings:机器人设置

    Payments:支付

    Delete Bot:删除机器人

    Back…ots List:返回上一级列表

  • 我们重要说一下Edit Bot,点击这个按钮,同样是表现六个按钮:
  • Edit Name:机器人名称

    Edit Description:机器人描述

    Edit About:机器人介绍

    Edit Botpic:机器人头像

    Edit Commands:机器性命令

    Back to bot:返回

  • 这里我重要讲一下:Edit Commands 点击下令
  • 表现:OK. Send me a list of commands for your bot. Please use this format:

    command1 – Description

    command2 – Another description

  • 这里下令的设置需要联合后期机器人做用来设置,这里我就已背面要讲的rss订阅机器人来设置。
  • /rss 表现当前rss订阅地点 加raw表现地点链接

    /sub 订阅一个rss:/sub 订阅网站地点

    /unsub 退订一个rss:/unsub 退订网站地点

    /unsubbthis 使用此下令回答想要退订的 RSS 消息即可退订

    /export 导出为OPML

    最后检察

    搜索框搜索我们的机器人名称,进入到频道

    就会看到我们之前设置好的相关信息

    在消息输入框输入“/”就可以看到我们之前设置好的下令

    Snipaste_2019-06-25_18-58-10

    假如有需要修改的内容,可以到BotFather进行再次设置

    至此,我们的电报机器人就创建和设置完毕了。

    备注

    本节概述了telegram-bot是什么,以及开发职员为什么要使用它。

    它还应该提到电报机器人中的任何大型主题,并链接到相关主题。由于telegram-bot的文档是新的,您大概需要创建这些相关主题的初始版本。

    使用BotFather创建一个bot

    在Telegram中打开与 @BotFather 的聊天,然后单击

    /start

    下令。

    得到下令列表后选择下令

    /newbot

    以获取此消息:

    好吧,一个新的机器人。我们怎么称谓它?请为您的机器人选择一个名称。

    输入机器人的名称,可以是任何名称,然后发送。之后,BotFather将要求您的机器人的用户名:

    好。如今让我们为您的机器人选择一个用户名。它必须以

    bot

    结束。像这样,比方:TetrisBot或tetris_bot。

    那必须以“僵尸”结束。假如您使用了所需的用户名或不可用,请使用其他名称重试。

    最后创建机器人并表现以下消息。您必须使用bot令牌与Telegram通讯,因此请确保将其写下来。

    完成!庆贺你的新机器人。你可以在telegram.me/???bot找到它。您如今可以为机器人添加关于部分和设置文件图片的描述,请参阅/ help以获取下令列表。趁便说一句,当你完成你的酷机器人的创建时,假如你想要一个更好的用户名,请ping我们的Bot支持。在实行此操作之前,请确保机器人完全正常运行。

    使用此令牌访问HTTP API:xxx:xxx

    使用得到的令牌,您如今可以通过调用网站

    https://api.telegram.org/botBOTTOKEN/sendmessage?chat_id=YOURCHATID&text=YOURTEXT

    发送测试消息

    电报机器人用于交互有两种通用方法:推送和拉取方法。使用pull方法你必须每隔一段时间调用

    /getupdates

    来检察是否有新的消息发送到你的机器人。 push方法对您的脚本使用webhook(

    /setwebhook

    方法),每次用户向您的机器人发送消息时都市调用该脚本。

    提供的信息是一个 JSON格式的文件 ,包含您需要的全部信息(发件人和邮件)。

    您可以使用多种语言(PHP,Python,Lua …)编写机器人,只要他们可以将webhook作为输入处置而且可以调用网站。

    有关具体信息,您可以随时使用BOT API文档,您可以在 此处 找到它们 。

    本文网址:

    http://www.1cm8858.com/d/202091518034_503_4287258382/home

    Ten articles before and after

    什么是明传电报什么是明传电报?-电报telegram技巧分享

    iphone4苹果4敲打打字机铃声哪里下载?急要啊-电报telegram技巧分享

    苏联档案解密(下):还原真实的毛泽东揭秘解放战争中令粟裕最紧张战役-电报telegram技巧分享

    telegram不扶墙也能畅快聊天/电报专属代理协议mtproxy必杀技/教你一行代码解决苹果手机电报“不举”问题/(telegram/电报/科技简史/翻墙/科学上网)80.就使用-电报telegram技巧分享

    英文电报式读法公众-电报telegram技巧分享

    微信群聊信息同步至「N号房」之后-电报telegram技巧分享

    网约女无数的某收费电报群主大神joker酒店玩弄高颜值刺青绿茶婊今年刚落网约群主推特大神-电报telegram技巧分享

    币用biyong揭底!被爆严重用户隐私安全漏洞-电报telegram技巧分享

    #小脚本#提升转换!给Telegram消息添加菜单交互按钮-电报telegram技巧分享

    电脑开机正常运行鼠标卡顿一直嘟嘟嘟的响-电报telegram技巧分享