问题标签 [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 投票
4 回答
9710 浏览

telegram-bot - 防止使用网络挂钩从 Telegram Bot API 获取旧更新

我正在编写一个 Telegram 机器人,并且正在使用官方的机器人 API。我有一个处理请求并200 OK为每个请求发送响应的 webhook 服务器。

在服务器停止之前,webhook 已分离,因此 Telegram 不再发送更新。但是,每当我打开机器人并再次设置 webhook URL 时,Telegram 就会开始用旧更新淹没 webhook 服务器。

有什么办法可以防止这种情况发生,而无需/getUpdates重复请求,直到我到达最后一次更新?

这是我的代码外观的高度简化版本:

提前致谢。

0 投票
1 回答
910 浏览

c# - 反序列化子对象中具有不同类型的 JSON 对象

当对象的子对象类型不同时,如何反序列化对象?我从 Telegram Bot API 获得以下 JSON:

其中“chat”表示“GroupChat”类型的对象。

再次调用相同的方法时,可能会导致:

其中聊天代表一个对象哦类型“用户”。我浏览了一些答案,但它们没有帮助,因为我没有直接反序列化“消息”而是“UpdatePacket”。

提前致谢!

0 投票
1 回答
3379 浏览

php - Telegram Bot:在 getUpdates 方法中使用偏移量

我想为订阅源构建一个电报机器人,以便订阅者可以获得站点更新。但我需要用户开始与我的机器人聊天。我将根据此 url 使用深度链接: https ://core.telegram.org/bots#deep-linking (假设有 2 个用户)

  1. 向用户 #2 显示以下链接 https://telegram.me/MyBot?start= $unique_code
  2. 用户 #2 单击链接并开始与机器人聊天。
  3. 用户 #2 回到我的网站并单击检查按钮。
  4. 站点发出 getUpdates 请求并找到与用户的 unique_code 关联的 chat_id。
  5. 偏移量将增加 1。

现在有一个问题。当偏移量增加时,用户 #1 在用户 #2 之前开始与机器人聊天的情况如何。如果 #1 在将偏移量增加 #2 后单击检查按钮,则机器人将不会收到 #1 消息。

ps 我不想使用 ssl 和 webhook

抱歉英语不好。

0 投票
1 回答
105 浏览

python - 如何在给定的时间或间隔内更新 Google Cloud Datastore?

我正在写一个Botfor Telegramusing Python( Using this as a Base ) 和Google App Engine.

我创建了一个Datastore存储用户在聊天中发送内容的频率的位置,并通过说更新计数器以防止垃圾邮件If Counter > x don't answer

一些示例数据:

一些示例数据

现在我想在某个定义的时间(例如每天)再次将所有用户的计数器减少 x,以允许用户再次使用机器人。

怎么做?

注意:我想说我的 Python 技能还处于初级水平。

0 投票
1 回答
1275 浏览

python - HTTP 错误 400:错误请求 Python、Google App Engine

我正在使用 Google App Engine 在 Python 中为 Telegram 编写一个 Bot。

我想使用一个API(文档(页面底部)是用德语编写的)来制定一个时间表,我像这样发出我的 HTTP 请求

对于 /events 它工作正常

但是当我尝试使用http://rbtvapi.rodney.io/api/schedule时,它​​返回给我一个

HTTPError: HTTP Error 400: Bad Request

我不太习惯 python 或 json 所以我的两个问题是

  1. 我如何提出这个要求
  2. 如何获取一个元素的内容,例如第一个元素的标题。

编辑:我已经尝试过,import requests或者urllib3似乎 Google App Engine 不支持它们

0 投票
2 回答
1803 浏览

php - 如何在 PHP 中处理多个请求?

我正在使用以下代码在 php 中制作一个简单的电报机器人:

但问题是同时响应多个请求。用户未实时收到响应(延迟)。我确定最后一行会导致延迟并等待电报服务器的响应。我怎么能弄清楚呢?

更新 我找到了这段代码,但它仍然有延迟:

问题出在哪里?

0 投票
3 回答
7051 浏览

c# - 具有可以是两种不同类型之一的属性的类

我正在用 C# 开发 Telegram 机器人,但难以实现Message类型。根据API 文档chat字段可以是 typeUser或 type GroupChat。我如何在 C# 中实现它?

到目前为止,我只能使用以下代码Newtonsoft.Json

但它不适用于我的 WebAPI 2 控制器方法,因为我Message使用FromBody属性反序列化:

(类型Update有一个message类型的字段Message

有没有更好的方法来实现Message类型?

0 投票
1 回答
1264 浏览

java - Telegram bot webhook、Tomcat 上的 servlet 和 openshift 云

我对电报 webhook 有疑问:它不会向我发送任何 HTTPS POST 信息。

Telegram Bot API 的setWebhook方法答案是肯定的:

我的doPost方法不依赖于任何 POST 参数,但是当我向我的机器人发送一些消息时它不会被调用。当我通过 RestClient chrome 扩展执行这个 servlet 时,一切正常。

我阅读了证书 SSL 中可能存在的问题,但我认为 openshift 应该没问题。有任何想法吗?

0 投票
4 回答
25687 浏览

python - 如何从电报机器人发送图像

我的机器人现在可以工作了,但问题是它只能发送文本。我在 Bot API 中看到有发送照片、视频的功能......但我无法让它工作。有人实现了吗?我正在使用来自yukuku/telebot的 python 源代码

当我更改代码时,什么也没发生。

请帮我。我需要正确的代码。对不起,我的英语不好。

0 投票
13 回答
107233 浏览

php - PHP:电报机器人:在短信中插入换行符

"\n"并且"\r\n",在电报机器人发送的短信中进行测试,以创建换行符。_使用它们后将出现 下划线,而不是显示换行符。

如何在机器人发送的电报消息中打印换行符?

代码

消息演示 在此处输入图像描述

任何帮助将不胜感激。