2

我在网上看到有一些程序可以使用 Telegram CLI。
对于 Telegram bot API,我想在它们之间进行选择,
有更多文档解释了它的功能,但对于 CLI,没有太多解释它的功能
,似乎唯一知道的方法就是试验它。
不幸的是,我的电脑上没有安装 linux 发行版,所以试验不是正确的选择。

所以我想问一下已经使用过它的人,
我知道 Telegram bot api,它的功能和局限性
在这里是我的问题:

我可以使用 Telegram CLI 做什么,而我不能使用 bot api,反之亦然?

4

3 回答 3

5

电报机器人 API:

  • 不需要注册新的 Telegram 帐户,因此您不需要另一个电话号码;
  • bot 不能先写给用户,只有在用户向 bot 发送第一条消息之后;
  • 已经有命令接口(/command);
  • 可以通过简单的 HTTP POST 来做事(例如,通过 cURL 发送请求)。因此,您可以吸引大量内容(有关网站上新文章的通知等);
  • 你可以很容易地创建很多它们;
  • 您可以用几乎任何编程语言编写自己的实现;
  • 你有一个你创建的机器人列表(感谢@BotFather)。如果您以某种方式失去了对机器人的控制 - 只需通过 @BotFather 撤销令牌,它就会再次属于您;
  • 使用起来很简单。

电报客户端应用程序(在这种情况下 - CLI):

  • 需要使用电话号码注册新的 Telegram 帐户;
  • 像任何其他实际的 Telegram 用户一样行事(可以先写信给其他用户,无需邀请)。嗯,这是一件好事;
  • 目前还不是很好的跨平台能力(一些缺乏 CLI 实现);
  • 不是很容易安装和使用;
  • 你必须实现命令处理部分;
  • 如果您丢失了电话号码 - 几乎您会丢失此帐户,因为您不会为 CLI 客户帐户采取一些预防措施。所以你必须注册一个新的并为客户重复设置过程。

总之,在我看来,机器人实际上摆脱了 CLI 客户端。在机器人出现的那一刻,我就拥有 CLI 帐户。之后我删除了它并创建了一个机器人。而不仅仅是一个:)

因此,机器人是为“机器人”服务的,而真实账户是为真实的人服务的。

于 2015-11-11T07:37:42.300 回答
3

Telegram CLI 库直接与他们的 MTproto 协议交互,这意味着它就像他们的桌面/移动应用程序......但用于控制台。您可以从一个电话号码向另一个电话号码发送消息。这意味着在使用 CLI 应用程序进行身份验证时,您使用的真实号码就像您登录移动应用程序一样。

我不建议将其用于机器人行为,因为您必须编写一个包装 Telegram CLI 并在显示日志文件时解析日志文件的应用程序......因为它没有实现所有 MTproto 方法和日志的输出文件是自定义的...它可能很烦人,并且与您期望的不同。

使用 Telegram CLI,您可以向另一个 Telegram 用户发送一个号码,而无需让他们先启动对话(因为它的功能就像普通的 Telegram 客户端一样),其中 Bot API 要求用户添加 Bot 并在 Bot 知道您之前开始交互那里。

于 2015-08-18T16:19:22.310 回答
1

以前的答案几乎是正确的。两种不同的接口用于不同的目的:

  1. Telegram Bot API允许开发 Telegram Bot。

  2. 正如 Chris Brand 所说, Telegram CLI(作为这个,作为实现示例:https ://github.com/vysheng/tg )是电报客户端实现,从命令行运行,基于 MTproto 协议。

作为一名机器人开发人员,我有兴趣拥有一个 TG CLI 界面 (2) 来自动化对话测试,使用 bash 脚本,以及使用 (1) 制作的机器人。

于 2019-11-14T10:35:13.907 回答