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/xxx: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就收到消息了。
api git:
https://github.com/unreal4u/telegram-api/graphs/contributors
但是悲剧的是,它只支持php7.
https://github.com/unreal4u/telegram-api/wiki
另外,也可以通过webhook api获取聊天记录等功能。但是这个api要求我们的站点必须是https证书
还有个bot sdk,它只要php5.5就可以了
https://telegram-bot-sdk.readme.io/reference#forwardmessage
https://github.com/irazasyed/telegram-bot-sdk
https://telegram-bot-sdk.readme.io/v2.0/reference
sdk 文档:
https://telegram-bot-sdk.readme.io/docs
安装
composer require irazasyed/telegram-bot-sdk
这个sdk包含了所有的telegram bot api,例如支持command,keyboard,webhook
参考文档:
https://fullmeter.com/blog/?p=14
http://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id-ruby-gem-telegram-bot
https://core.telegram.org/bots
https://core.telegram.org/bots/api
分享到:
相关推荐
NestJS Telegraf –用于创建Telegram机器人的强大解决方案。 这个软件包使用了NodeJS的精华。 是用于创建机器人的最强大的库,而是用于创建结构良好的应用程序的渐进框架。 该模块为创建Telegram机器人以及与Nest...
TelegramWorkflow是一个简单的实用程序,可帮助您组织代码以创建Telegram机器人。 它包括HTTP客户端,该客户端实现了完整的Telegram API和一组帮助程序,以改善开发体验。 安装 将此行添加到您的应用程序的Gemfile...
临时电报机器人使用scratch.mit.edu创建Telegram机器人(概念验证) :warning: 使用eval块时要小心,因为您正在计算机上执行Python代码。要求Python 3.6或更高版本浏览器扩展如何使用$ python -m pip install -r ...
TarnaBot:一个用于创建Telegram机器人的Qt5C ++库
TelegramBot:在Aiogram中创建Telegram机器人的实践
用于创建Telegram机器人的直观框架。 少于100行即可创建您自己的机器人! • • y属 from pyrogram import Client from pyrubrum import Handler , Menu , transform bot = Client (...) handler = Handler ( ...
创建一个新的Telegram机器人 使用在Telegram中创建机器人,并接收您的API令牌 打开安装了django-tgbot的Django项目 在命令行中输入以下命令(终端/ cmd): python manage.py createtgbot 输入您的API令牌: > ...
创建Telegram机器人后,您需要在“ Bot设置”中禁用“组隐私”。 新增至群组 您需要以具有“ Delete Message和“ Ban Users权限的管理员身份,将Telegram bot添加到您的Telegram组。 如何安装 首先克隆存储库 git ...
Telegram让您仅创建20个机器人。 该Nodejs API托管在您的服务器上,允许创建和管理无限的子机器人(在您的数据库中)。 与以下节点一起开发:...打开Telegram,与开始对话,创建您的主要Telegram机器人,记下其令牌。
TeaBot ,您可以为Node.js创建高度交互的Telegram机器人,并具有其他一些很酷的功能。 产品特点 为创建交互式机器人而编写 支持 Redis,Aerospike中的数据存储() 分析 () 支持 支持/command@BotName命令 在...
import { TelegramModule , TelegramModuleOptionsFactory } from 'nest-telegram' // In real app, please, don't store token in source code class TelegramOptionsFactory implements ...
Botgram旨在以非常清晰,最少的语法来公开此API的功能,因此您可以轻松创建Telegram机器人。 const botgram = require ( "botgram" ) const bot = botgram ( "<auth>" ) bot . command ( "start" , "help" , ( msg...
前往以了解更多关于我们正在建设的内容以及如何...建立通过与@BotFather交谈来创建Telegram机器人: : @BotFather 将/setprivacy与@BotFather /setprivacy使用,以允许其查看组中的所有消息。 将您的Telegram Bot令牌
使用JS + Heroku创建Telegram机器人 创建此存储库的目的是演示使用JS的Telegram机器人,并将其托管在Heroku平台上。 机器人电报 在命令中加载txt列表 托管在Heroku 项目图片 必要程序 使用以下npm程序包运行项目: ...
从配置文件为Telegram机器人创建模板 使用创建一个机器人 在config/conf.yml设置您的机器人参数 运行make_bot.py创建bot.py 运行python bot.py以运行您的机器人 配置 bot_token : [str] # token generated by @...
准备部署我们创建一个Telegram机器人并为其获取令牌。 。 我们在获得了一个令牌。 例如,通过找出您的电报ID。 我们获得了的令牌。部署到Google Functions git clone ...
Stonky是一个Telegram机器人,可提供对财务信息的访问。 它由公开可用的Yahoo Finance HTTP API支持,以C语言编写。Stonky Telegram Bot README Stonky是一种Telegram机器人,可提供对财务信息的访问。 它由公开可用...
Telegram机器人代码这是我构建的Raffle Telegram机器人的代码。 享受并随时重用!安装和本地启动克隆此仓库: git clone https://github.com/backmeupplz/randymbot 在本地启动使用下面列出的环境变量创建.env 在根...
电报概述该项目是使用Scala API创建Telegram机器人的最简单方法: 。 它具有您需要的所有依赖项,包括CLI解析,日志记录,监视和打包到docker。 您将拥有自己的机器人平台。 您的环境要求: SBT和Scala 2.12版或更高...
简单但非常智能的Telegram机器人,用于处理各种类型的位置格式并将其转换为用户定义的格式。 在公开可用。 要求 PHP Web服务器(用PHP 7.3编写和测试) 数据库服务器(使用MySQL 8和MariaDB 10编写和测试) 具有...