问题标签 [telegram-bot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15093 浏览

java - 电报机器人——使用 API

所以我在 Java 方面的经验有限(有一些 API 经验,但很少有制作机器人或客户端的经验)。但是,我改用 Telegram 而不是 iMessage,只是因为它更易于使用且响应速度更快。我也很欣赏开源性质和我创建机器人的能力。但我对其他语言了解不多,而且只是一名学生。我想知道是否有可能创建一个机器人,当输入某个字符串后跟一个术语时,该机器人搜索维基百科并返回与该术语匹配的第一页(或某些例外)。

崇高的想法......但我不知道我在做什么。有谁知道我是否可以在某个地方找到教程(不是 Youtube),或者是否有比我知识更多的人(大多数阅读此书的人)可以教我?那将是惊人的。

我的背景:处理 AP 计算机科学 A 有限的 API 使用

TL; DR Wikipedia 机器人,用于 Telegram,需要帮助。

0 投票
4 回答
55362 浏览

python - 如何在电报机器人中获得身份验证?

电报机器人现在准备好了。

如果我们使用 Web 浏览器和网站的类比,电报客户端应用程序就像浏览器客户端。

电报聊天室就像网站。

假设我们有一些我们只想限制某些用户的信息,在网站上,我们将进行身份验证。

我们如何在 Telegram Bots 上实现相同的效果?

有人告诉我我可以使用深度链接。请参阅此处的说明

我将在下面重现它:

  1. 创建一个具有合适用户名的机器人,例如@ExampleComBot
  2. 为传入消息设置 webhook
  3. 生成足够长的随机字符串,例如 $memcache_key = "vCH1vGWJxfSeofSAs0K5PA"
  4. 将值 123 和键 $memcache_key 放入 Memcache 360​​0 秒(一小时)
  5. 向我们的用户显示按钮https://telegram.me/ExampleComBot?start=vCH1vGWJxfSeofSAs0K5PA
  6. 配置 webhook 处理器以使用以 /start 开头的传入消息中传递的参数查询 Memcached。如果密钥存在,则将传递给 webhook 的 chat_id 记录为用户 123 的 telegram_chat_id。从 Memcache 中删除密钥。
  7. 现在,当我们要向用户 123 发送通知时,检查他们是否有字段 telegram_chat_id。如果是,请使用 Bot API 中的 sendMessage 方法在 Telegram 中向他们发送消息。

我知道如何执行第 1 步。

我想了解其余的。

这是我尝试破译步骤 2 时想到的图像。

在此处输入图像描述

因此,各种电报客户端在与其应用程序上的 ExampleBot 通信时与电报服务器通信。沟通是双向的。

第 2 步建议 Telegram 服务器将通过 webhook 更新 ExampleBot 服务器。Webhook 只是一个 URL。

到目前为止,我是对的吗?

使用它进行身份验证的下一步是什么?

0 投票
7 回答
16081 浏览

php - Calling Telegram API to create a feedreader bot

I have seen New API for bots are enabled to create custome bots,I have seen some sources such as this and this I have also read about @fatherbot which is about registering bots,I also searched about some examples about telegram bots such as this one,I know how write codes in php and python but can not find out how to call api methods and where to get start.Does any one has any idea how to get start?

0 投票
3 回答
6997 浏览

telegram-bot - Telegram bot API 在 webhook 上没有 JSON POST 数据

我似乎无法获取 webhook 的 JSON POST 数据。我正确设置了所有内容(webhook URL,还测试了服务器是否收到 POST 请求)并且当用户发布某些内容时请求即将到来,但没有记录 POST 或 GET 数据。这是一个常见的错误还是只是我?

0 投票
1 回答
336 浏览

python - 从 urlopen 检索到的帖子图像

我想将文件发送到 Telegram Bot API以发布图片。我在 Google App Engine 上使用 python,我想从 URL 下载图片并在 Telegram 消息中发送它,而不在磁盘上创建任何中间文件(我认为在平台上什至不可能)。

我已成功发送从磁盘获取的图像,但无论我如何尝试,我都无法发送从 URL 检索到的图片。这是工作代码:

如果我得到带有 urlopen 的照片,它将无法正常工作。我尝试使用 StringIO,但它也不起作用。有任何想法吗?

0 投票
2 回答
7788 浏览

json - 在没有服务器的情况下设置 Telegram 机器人

我不精通网络技术,想知道是否有办法 - 一个想法是使用setWebhook - 让电报机器人做简单的事情(比如只要有人发送它就一遍又一遍地重复相同的消息一条消息)而不设置服务器

我认为可能没有办法解决它,因为我需要解析 JSON 对象以获取 chat_id 以便能够发送消息......但我希望这里有人可能知道方法。

例如

我已经用硬编码的聊天 ID 对其进行了测试,并且它可以工作......但当然,它总是只会向同一个聊天发送消息,无论它在哪里收到消息。

0 投票
9 回答
238293 浏览

telegram-bot - 如何获取特定用户的 Telegram chat_id?

如何chat_id在 Telegram bot API 中获取用户?文档说:

整数 | 消息接收者的唯一标识符 - 用户或 GroupChat id

0 投票
4 回答
10099 浏览

api - 如何在 Telegram bot API webHook 上使用偏移量

两天以来,我一直在探索 Telegram bot API,它非常简洁。但有一件事我想不通。

当您不使用 webHook 而是/getUpdates调用时,您可以通过offset服务器处理了哪条消息。

但是你如何在 webHook 就位的情况下做到这一点呢?我不断收到与更新相同的消息。这导致服务器向用户发送相同的消息。

我想出的解决方案如下:

  1. 从 webhook 接收更新
  2. 保存update_id
  3. 回复用户/sendMessage
  4. 禁用 webHook/setWebhook?url=
  5. 设置偏移量/getUpdates?offset={update_id+1}
  6. 恢复 webHook/setWebhook?url=https://mywebhook.domain.com

一定有更好的方法吧?任何人?

0 投票
6 回答
98630 浏览

api - 如何下载发送到我的 Telegram 机器人的文件或照片?

我正在使用电报机器人 API,但无论如何我都无法下载发送到我的机器人的文件。我得到了文件的哈希值,但不知道如何处理它。有什么办法吗?谢谢。

0 投票
2 回答
33448 浏览

php - PHP 中的 Telegram Bot 自定义键盘

我正在尝试使用自定义键盘在 PHP 中制作 Telegram Bot。消息已送达,但自定义键盘不起作用。$keyb = array('keyboard' => array(array("A", "B"))); 也没有成功。

sendMessage方法引用对象的ReplyKeyboardMarkup。为ReplyKeyboardMarkup 创建一个数组不起作用。也尝试过 json_encode($keyb) 但这也不是解决方案。

我在 GitHub 中搜索了示例,但没有找到使用自定义键盘的示例。Telegram 在 iPhone 和桌面上运行,都是最新的。

示例代码: