问题标签 [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.
bots - 电报机器人 - 保留问题和答案
我的电报机器人是一个对话框,它需要保留问题和答案(如 TriviaBot)。执行此操作的最佳(最有效)方法是什么?以用户 ID 为键的数据库?
有很多电报机器人,但是哪里有源代码示例来获得灵感?
java - Telegram bot api:错误代码 429,错误:请求太多:稍后重试
我们有一个 Telegram 机器人。它拥有大约 120 万订户。
现在我们在向这些数量的订阅者发送消息时遇到了问题。
Telegram bot API 不提供任何批量消息功能,我们必须向 Telegram 发送单独的请求。问题是,在几千条消息之后,Telegram 开始响应错误 429:请求太多,并且暂时不接受任何请求。
我们如何有效地向订阅者发送消息?
python - 如何从 Telegram Bot 的群组消息中获取用户对象
最近,我正在研究一个用 python 编写的简单 Telegram 机器人(带有python-telegram-bot
库)。在这个机器人中,我可以使用以下命令获取最后一个消息对象:
并且根据Telegram Doc,消息对象包含一些属性,例如message_id,from,date,chat
,...,该from
属性返回一个 User 对象,该对象是消息的发送者。但是因为from
它是一个python 关键字(在导入时使用),所以我们不能使用它,它会引发 SyntaxError。
作为一种替代方法,我们可以使用chat
属性,它在个人聊天中返回一个用户对象和一个GroupChat
不包含的组中的对象以及有关用户的信息。此外,我找不到任何直接报告此错误的方法。
所以问题是有什么方法可以完成这项工作吗?或者任何替代解决方案?
php - 如何访问 json 中的特定元素
我有一个来自电报的 JSON,在 php 中如何找到如果它是文本做某事,但如果它的照片、音频或......做其他事情。这部分位于日期之后,我怎样才能访问它?
我尝试通过索引访问它,['message'][1]
但我得到了错误。
python - 在openshift上运行带有无限循环的简单python应用程序
我正在 python 上编写小而简单的电报机器人。我从未在工作中使用过这种语言,并认为这是通过实践学习的好方法。
为了获取更新,我的应用程序当前使用从无限循环调用的长轮询。
所以我基本上是在寻找在 openshift 上运行这个应用程序的最简单方法。我试图在烧瓶上使用这个例子,但它没有用。还有很多其他选项可以通过多处理实现后台无限进程(从 django 和 cerely 到 tornado),但对于我相当适度的需求来说,它们似乎都太先进和复杂了。
php - 电报机器人:将全文显示为回复键盘标记按钮
我正在开发一个类似 Poll 的 Bot,我想在其中将选项显示为按钮。有些选项包含 10 个或更多单词。当我将该文本作为按钮输入时,中间的单词转换为点。即:“我们有能力接收来自星星的信息和夜风的歌曲。”
当我把它作为一个按钮时,它会显示如下:“我们有能力......夜风”。
有什么解决方法吗?
telegram-bot - 电报机器人可以访问有关用户的哪些信息?
我是电报机器人的新手,我想知道当我们将电报机器人添加到群组时,它可以访问有关群组成员的任何信息吗?而且我知道隐私模式,无论是打开还是关闭,机器人可以访问发送机器人可以读取的消息的用户的任何信息吗?
javascript - 使用 javascript 进行日常聊天中的字符串逻辑
我正在为 Telegram Bot 构建一个 AI,目前我正在尝试处理文本并几乎像人类一样响应用户。
例如;
“我要注册”
作为人类,我们了解用户想要注册。
所以我会使用 javascript 来处理这个文本indexOf
来寻找需要并注册
但是如果文本不包含字符串中的某处怎么办?当然,我会为无数个案例提供无数个条件。写这种逻辑会很累。
我的问题是——还有其他优雅的方法可以做到这一点吗?我真的不知道谷歌这个关键字...
python - 为什么 telegram.Bot.getUpdates() 长轮询会立即返回?
根据电报 api,该getUpdates
函数使用长轮询(wiki)接收传入的更新。来自维基:
如果服务器在收到轮询时没有任何信息可供客户端使用,则服务器不会发送空响应,而是保持请求打开并等待响应信息可用。一旦它确实有新信息,服务器立即向客户端发送一个 HTTP/S 响应,完成打开的 HTTP/S 请求。
那么,为什么getUpdates()
即使timeout
设置了参数,函数也会立即返回呢?
函数调用:
bot.getUpdates(offset=lastUpdateID, timeout=120)
没有新的更新,offset=lastUpdateID 是最后一次更新。
我正在使用库python 电报机器人库
chatbot - Telegram API 消息顺序
我正在构建一个电报机器人。
这意味着我同时管理多个聊天(每个聊天都有一个唯一的聊天 ID)。
当用户向机器人发送消息时,会回复一个答案。
我正在使用通过 HTTP 的电报 API。
但是,当我想发送一些消息时,有时它们会以错误的顺序到达,因为不确定哪个 HTTP 请求会首先被接受。
是否有任何未记录的方式将序列参数发送到电报 API,或者我必须处理队列中的 HTTP 请求?