telegram机器人
telegram是国外常用的聊天功能,功能很强大,除了聊天还可以玩游戏,传文件,视频,声音,投票,群组。当然,这些跟qq,微信都很类似了。但是它毕竟是国外最常用的IM之一。telegram有个聊天机器人可以自动发消息,也是挺有意思的。它还开放了api,可以自己创建bot,通过api发送消息,视频,声音,文件等功能。下面,我简单介绍下怎么新建一个bot
telegram有两种api,一种是bot api,一种是telegram api。bot api是基于http访问,telegram api是基于mtproto访问,访问需要加密,相对要复杂一些。后者也可以实现发送消息等功能。这里我只说第一种bot api。
首先要创建一个bot。访问
https://telegram.me/botfather
它会提示你用telegram打开。然后你就打开了botfarther的聊天对话框。输入
/newbot 
回车发送。botfarther会反馈
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你要创建的bot名字。例如david_bot,回车发送
它会反馈
Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
我再输入 DavidBot。这是这个机器人的名字。
它会反馈
Sorry, this username is already taken. Please try something different.
这名字已经被用了。我们换一个
GZ_David_Bot
它会反馈
BotFather, [16.02.17 14:23]
Done! Congratulations on your new bot. You will find it at t.me/Gz_David_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:
xxx:xxx
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
这里它生成了api token。我们记下它。以后api请求都会用到。如果需要帮助,输入 /help
输入/token 可以重新生成一个token。
/revoke 可以撤销一个token
我们需要用这个bot来发送消息,首先需要创建一个group,加入一些人,同时将这个bot也加进去。然后在这个group中发送消息。类似 /hello @GZ_David_Bot
然后访问 
https://api.telegram.org/botxxx:xxx/getUpdates
我们会获取到一个json
{
	"ok" : true,
	"result" : [{
			"update_id" : xxx,
			"message" : {
				"message_id" : 4,
				"from" : {
					"id" : xxx,
					"first_name" : "david",
					"last_name" : "huang",
					"username" : "davidhuang"
				},
				"chat" : {
					"id" : -xxx,
					"title" : "bot",
					"type" : "group",
					"all_members_are_administrators" : true
				},
				"date" : xxx,
				"text" : "/hello @GZ_David_Bot",
				"entities" : [{
						"type" : "bot_command",
						"offset" : 0,
						"length" : 6
					}
				]
			}
		},
	]
}
 
这里,我们看到有个id,指的就是当前group的id。我们记下它 。然后执行以下curl。
botXXX:YYYY 指的是bot+token,一定要加上bot前缀
chat_id就是上面的id,注意是负数,必须有-
发送内容是=my sample text
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
执行完,这个group就收到消息了。
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号