前言我使用的是 larvel 框架,找了一个组件直接使用的。不过,如果自己写原生的对接,其实也很简单

本文我假设我的机器人名字是 abc_bot

1.创建机器人

使用浏览器访问 https://t.me/botfather 会自动跳转到 BotFather 的对话框。这个是管理你机器人的命令对话框。与它的对话都要以/ 开头。有些指令。/help,可以看到所有的可用指令

接收消息的设置

在 BotFather 对话框操作

/setprivacy

然后选择一个你的机器人,会弹出对话

'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username.

'Disable' - your bot will receive all messages that people send to groups.

Current status is: DISABLED

选择 `Enable` 则在群消息中只有 `/abc_bot 消息`的时候,你才能看到消息

选择 `Disable` 则可以看到群里的所有消息。

2. API 操作

2.1 获取所有的消息

注意,在执行这个操作的时候,不能有 $telegram->setWebhook(),因为如果执行过 $telegram->setWebhook(),新数据其实是会直接返回给你指定的 url 的。如果你有开启,则需要执行 $telegram->removeWebhook() 关闭

注意这个操作最多可以获取100条数据,但是有两个参数可以使用

offset--开始获取数据的id,这个对应的是 update_id

limit-获取数据的条数

$key = config('telegram.bot_token');

return $this->get('https://api.telegram.org/bot' . $key . '/getUpdates');

或者

$telegram = new Api($key);

return $telegram->getUpdates();

获取到的参数

message.message_id - 消息ID,回复或者转发的时候可以用到

message.from.id - 发送消息的人的ID

message.chat.id - 所在群的ID,如果是个人发送给你的私信,则是个人ID 回复消息时候可以用到

2.2 发送消息的操作

$this->telegram->sendMessage([

'chat_id' => $chat_id, // 接收消息的人或者群的id-- message.chat.id

'text' => $message, // 消息内容

'parse_mode' => 'HTML', // 格式,这个可以不要

]);

2.3 回复消息的操作

$this->telegram->sendMessage([

'chat_id' => $chant_id, // message.chat,id 这个id必须是消息发布的群,不然不能实现回复

'reply_to_message_id' => $reply_message_id, // message.message_id 聊天中的具体一个消息id

'text' => $text, // 回复内容

]);

2.4 开启网站自动接收消息

网站必须是 https,路由随便你配置,只要跟你网站的匹配即可

$telegram->setWebhook(['url' => 'https://xxx.com/telegram/webhook']);

在开启网站自动接收消息后,执行 $telegram->getUpdates(); 是无效的

然后机器人做在的群,每次有人发消息,都会 post 推送到 `https://xxx.com/telegram/webhook`,你可以做相应的处理

接收的文字是 message.text

如果是图片加文字,则是 message.caption

2.5 关闭网站自动接收消息

网站必须是 https,路由随便你配置,只要跟你网站的匹配即可

$telegram->removeWebhook();

php发送消息给telegram,PHP对接telegram相关推荐

  1. telegram自动发信息_创建telegram 机器人 并发送消息

    使用telegram的原因:利用该app的机器人定时发一些报表或者一些预警信息 telegram是国外常用的聊天工具,功能很强大,除了聊天还可以玩游戏,传文件,视频,声音,投票,群组.telegram ...

  2. 创建telegram 机器人 并发送消息

    telegram是国外常用的聊天功能,功能很强大,除了聊天还可以玩游戏,传文件,视频,声音,投票,群组.当然,这些跟qq,微信都很类似了.但是它毕竟是国外最常用的IM之一.telegram有个聊天机器 ...

  3. php对接AliGenie天猫精灵服务器控制智能硬件esp8266③ 渗入熟悉AliGenie 对接协议,揭开第三方云平台是如何让天猫精灵是发送消息到私有服务器的!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. php对接AliGenie天猫精灵服务器控制智能硬件esp82 ...

  4. java对接钉钉发送消息通知

    现在,许多的消息会议,工作任务安排都不在是通过邮件呀,或者是使用口头表达的形式了,都是一些通讯软件进行分发,在工作中,也会有一些东西需要通过程序进行自动发送一些消息通知到指定的人,告诉他,你的,干活的 ...

  5. 企业自建应用对接企业微信发送消息接口

    1.第一步我们在企业微信开发平台找到这个接口说明文档 发送应用消息 - 文档 - 企业微信开发者中心 (qq.com) 2.我们可以先简单看一下在他们的调试工具走通了大概代码也会写了我下面一步一步带这 ...

  6. telegrom bot 发送消息

    一.获取bot token 这是所有开发者的必经之路,此仪式的目的在于获取telegram的授权以及一个独特的bot token,此token将在下文的编程的环节再次发挥作用. 首先在telegram ...

  7. 服务器推送信息到客户端,服务器如何发送消息到客户端

    服务器如何发送消息到客户端 内容精选 换一换 使用SSH方式登录CentOS 6.5操作系统的弹性云服务器时,过一段时间就会自动断开连接.本节操作介绍如何保持SSH会话持续连接不断开该文档适用于Cen ...

  8. mqtt 发送消息过多_阿里云MQTT服务端注解式消息处理分发与同步调用实践小结

    一.前言 前段时间公司预研了设备app端与服务端的交互方案,出于多方面考量最终选用了阿里云的微服务队列MQTT方案,基于此方案,本人主要实践有: 1. 封装了RocketMQ实现MQTT订阅与发布的实 ...

  9. 微信公众号开发之接收与发送消息

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 在上一篇博客中已经验证了服务器有效性:https://blog.csdn.net/qq_41782425/article/deta ...

最新文章

  1. Linux安装solr
  2. ORACLE中对LONG类型进行处理的方法
  3. java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?
  4. 电影中的出品人,制片人
  5. AD7606实际采样率输出数据量偏小
  6. C++ Coding潜意识(-ing)
  7. 数据库改名系列(数据库名,逻辑名,物理文件名)
  8. 你真的会用ABAP, Java和JavaScript里的constructor么? 1
  9. mysql中locate和substring函数使用
  10. android studio调整字体大小,如何在Android Studio中增加字体大小?
  11. Mac 环境下labelImg标注工具的安装
  12. XPS笔记本及各类超薄笔记本的白果网卡安装教程
  13. 未能找到类型或命名空间名称“DllImport“(是否缺少using指令或程序集引用?)
  14. 医药行业销售过程管理系统解决方案
  15. 关键词:MAU,DAU,DAU/MAU
  16. GBase 8a 支持存储过程、自定义函数的定义和使用
  17. ucla研究生计算机科学,ucla研究生申请难度大不大?有哪些要求?
  18. SSC 扩频时钟技术(4):基于systemverilog语言实现ssc扩频时钟模型设计
  19. 使用XDoclet生成代码
  20. LIS医疗管理系统源码

热门文章

  1. asp.net实现无刷新ajax技术登录界面
  2. 联通的流量卡都是快递激活吗?快递激活手机卡有没有关系?
  3. 联系微信ID服务器失败,微信小程序-新用户获取微信手机号登录服务端获取不到unionid情况...
  4. 【仪器常用操作方法】TDS1012示波器常用操作方法
  5. 小程序获取上一个页面或者某个页面内的值
  6. IC验证笔试题(寒武纪)
  7. 哇呼IM即时通讯系统——技术解析
  8. 高德地图marker标点数据量太大造成卡顿的解决方案
  9. 单通道图片转换为3通道图片,实现灰度图上添加彩色标注
  10. 我学历不高,怎样找前端的工作?