问题标签 [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.
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 转换的内容?
python - Python TeleBot 媒体编辑
人们!
所以,我正在使用PyTelegramBotAPI,我需要在我的机器人消息中编辑媒体(在我的情况下是照片),所以我尝试了这个东西:
如果我尝试message.photo[0].file_id
从另一条消息传递(我的意思是,照片已经在电报服务器上),或者我什至尝试InputMedia
像这样从头开始创建对象:
在这两种情况下,如果我 print file_id
,它将显示这个长 id 字符串,所以它不会丢失。但我仍然收到此错误:
但我确实设置了媒体参数....有什么问题?
python - 当另一个命令已经在 python-telegram-bot 中运行时,有什么方法可以运行一个命令?
假设在 start 函数中有一个无限循环。当它运行时......我需要另一个命令在后台运行。另一个功能。(例如停止命令)我尝试将它放在“updater.start_polling()”之后,但由于一些原因它没有工作。我无法为此设置调度程序。
python - 如何在 python Telegram bot 对话处理程序中循环
bot 运行一次后不会返回到开始消息。
我想在用户从按钮中选择一个选项后立即再次运行启动命令......我想学习如何在对话处理程序中提供处理程序时传递参数。谢谢你。
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
. 我应该怎么办?
python - 为什么在 Telegram Bot Python 服务器上保存照片不起作用
我需要在 python 中制作一个电报机器人,我编写了所有代码,但由于某种原因它不起作用
帮我弄清楚,也许需要调整一些东西。先感谢您!
python - 电报机器人中的异步功能
通过了解 async/await 的基础知识,我了解到这time.sleep()
是一个阻塞函数,它会冻结执行。message_handler
在创建电报机器人时,我尝试以这种简单的方式检查它。
一个 /test 命令是从两台设备以很小的间隔 (<5s) 发送的。我希望程序向第一个设备发送消息“Hello”,冻结 5 秒钟然后发送“World”,然后才对第二个设备执行相同的操作。但相反,两个设备同时处理。
在这种情况下,我无法理解该过程。如果程序time.sleep()
在响应第一个设备后被冻结,程序如何立即响应第二个设备?
telegram-bot - 无法通过 Telgram bot API 的 send_photo 方法发送高分辨率照片
在 python 中使用电报 bot api,我正在使用文件发送照片。
- 首先,我从一个网址获取照片。
- 将照片保存到磁盘。(全分辨率)
- 读取文件并将其传递给
bot.send_photo
- 获取
file_id
返回Message
对象中包含的内容并保存。 - 下次我通过
file_id
新的/命令发送。
第一个请求:
第二次及以后...
这里文件 ID 表示PhotoSize数组中可用的最高分辨率文件 ID。
这是文件ID:AgACAgQAAxkDAAIBMmAK636SiNEGCA8UILZ55gVppXfqAAIytjEbqp1RUJwNFOjmz7N6ZoHuJ10AAwEAAwIAA3cAAwRjBAABHgQ
问题:我在机器人聊天中收到 1k 分辨率的照片。请告知我在这里缺少什么。
python - 在 Python 中的应用程序之间传递数据
我有一个关于在我运行的两个应用程序之间实现数据传递的问题。
我有一个 Flask 后端,它通过 POST 请求接收用户电子邮件并将其存储在一个变量中。我需要将此变量传递给 TelegramBotAPI。
我需要做的是,当 Flask 收到一封新的用户电子邮件时,它会将数据传递到 TelegramBotAPI 并触发一个函数,该函数会将其以消息的形式发送给用户。
我该如何实施呢?
python - 通过 FILEID 发送文件
我是 python 新手,我想通过 file_id 发送文档,但我不知道这有什么问题,这就是我所做的 :)
这是我得到的错误
TypeError:send_document() 得到了一个意外的关键字参数“文档”
我希望得到回应