问题标签 [py-telegram-bot-api]

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 投票
1 回答
653 浏览

python-3.x - pyTelegramBotAPI 和 SpeechRecognition

我正在使用 pyTelegramBotAPI 构建一个 Telegram 机器人。该机器人应该从用户那里获取语音消息并使用 SpeechRecognition 库执行文本识别。据我所知,电报语音消息是 ogg 文件,而语音识别不支持 ogg,因此我需要将其转换为 wav 或 flac(或 SpeechRecognition 支持的任何其他格式)。我正在按照此处的建议进行操作How to convert Telegram voice in a wave file in python

但是下面的代码...

...仍然产生以下错误:

我是否遗漏了一些关于 ogg 到 flac 或 ogg 到 wav 转换的内容?

0 投票
1 回答
1198 浏览

python - Python TeleBot 媒体编辑

人们!

所以,我正在使用PyTelegramBotAPI,我需要在我的机器人消息中编辑媒体(在我的情况下是照片),所以我尝试了这个东西:

如果我尝试message.photo[0].file_id从另一条消息传递(我的意思是,照片已经在电报服务器上),或者我什至尝试InputMedia像这样从头开始创建对象:

在这两种情况下,如果我 print file_id,它将显示这个长 id 字符串,所以它不会丢失。但我仍然收到此错误:

但我确实设置了媒体参数....有什么问题?

0 投票
2 回答
325 浏览

python - 当另一个命令已经在 python-telegram-bot 中运行时,有什么方法可以运行一个命令?

假设在 start 函数中有一个无限循环。当它运行时......我需要另一个命令在后台运行。另一个功能。(例如停止命令)我尝试将它放在“updater.start_polling()”之后,但由于一些原因它没有工作。我无法为此设置调度程序。

0 投票
0 回答
885 浏览

python - 如何在 python Telegram bot 对话处理程序中循环

bot 运行一次后不会返回到开始消息。

我想在用户从按钮中选择一个选项后立即再次运行启动命令......我想学习如何在对话处理程序中提供处理程序时传递参数。谢谢你。

0 投票
0 回答
715 浏览

python - 使用 pyTelegramBotAPI 将电报机器人部署到 Heroku 时使用开放端口

在尝试托管使用 pyTelegramBotAPI 库和 aiohttp webhook 编写的 Telegram 机器人时,我遇到了一个问题:Telegram 仅支持开放端口 80、88、443 和 8443 上的 webhook。同时,Heroku 文档说: 每个 web 进程只是绑定到一个端口, 并监听来自该端口的请求。Heroku 将要绑定的端口分配为 PORT 环境变量。 那么有没有办法在 Heroku 上使用 webhook 部署电报机器人?我从 pyTelegramBotAPI 的 github repo 中稍微修改了这个示例代码:

当然,Heroku 将 Web 应用程序绑定到 $PORT 并在 https://0.0.0.0 上运行:(无论 Heroku 为应用程序提供什么端口)。但这不适用于电报!如果我尝试使用 手动将其绑定到端口 8443 WEBHOOK_PORT = 8443,我会如预期的那样得到 Heroku 错误Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch。我的 Procfile 是web: python main.py. 我应该怎么办?

0 投票
0 回答
34 浏览

python - 为什么在 Telegram Bot Python 服务器上保存照片不起作用

我需要在 python 中制作一个电报机器人,我编写了所有代码,但由于某种原因它不起作用

帮我弄清楚,也许需要调整一些东西。先感谢您!

0 投票
0 回答
1745 浏览

python - 电报机器人中的异步功能

通过了解 async/await 的基础知识,我了解到这time.sleep()是一个阻塞函数,它会冻结执行。message_handler在创建电报机器人时,我尝试以这种简单的方式检查它。

一个 /test 命令是从两台设备以很小的间隔 (<5s) 发送的。我希望程序向第一个设备发送消息“Hello”,冻结 5 秒钟然后发送“World”,然后才对第二个设备执行相同的操作。但相反,两个设备同时处理。

在这种情况下,我无法理解该过程。如果程序time.sleep()在响应第一个设备后被冻结,程序如何立即响应第二个设备?

0 投票
0 回答
108 浏览

telegram-bot - 无法通过 Telgram bot API 的 send_photo 方法发送高分辨率照片

在 python 中使用电报 bot api,我正在使用文件发送照片。

  1. 首先,我从一个网址获取照片。
  2. 将照片保存到磁盘。(全分辨率)
  3. 读取文件并将其传递给bot.send_photo
  4. 获取file_id返回Message对象中包含的内容并保存。
  5. 下次我通过file_id新的/命令发送。

第一个请求:

第二次及以后...

这里文件 ID 表示PhotoSize数组中可用的最高分辨率文件 ID。

在此处输入图像描述

这是文件ID:AgACAgQAAxkDAAIBMmAK636SiNEGCA8UILZ55gVppXfqAAIytjEbqp1RUJwNFOjmz7N6ZoHuJ10AAwEAAwIAA3cAAwRjBAABHgQ

问题:我在机器人聊天中收到 1k 分辨率的照片。请告知我在这里缺少什么。

0 投票
1 回答
47 浏览

python - 在 Python 中的应用程序之间传递数据

我有一个关于在我运行的两个应用程序之间实现数据传递的问题。

我有一个 Flask 后端,它通过 POST 请求接收用户电子邮件并将其存储在一个变量中。我需要将此变量传递给 TelegramBotAPI。

我需要做的是,当 Flask 收到一封新的用户电子邮件时,它会将数据传递到 TelegramBotAPI 并触发一个函数,该函数会将其以消息的形式发送给用户。

我该如何实施呢?

0 投票
1 回答
128 浏览

python - 通过 FILEID 发送文件

我是 python 新手,我想通过 file_id 发送文档,但我不知道这有什么问题,这就是我所做的 :)

这是我得到的错误

TypeError:send_document() 得到了一个意外的关键字参数“文档”

我希望得到回应