问题标签 [python-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 投票
1 回答
3315 浏览

python - 如何从 Telegram Bot 的群组消息中获取用户对象

最近,我正在研究一个用 python 编写的简单 Telegram 机器人(带有python-telegram-bot)。在这个机器人中,我可以使用以下命令获取最后一个消息对象:

并且根据Telegram Doc,消息对象包含一些属性,例如message_id,from,date,chat,...,该from属性返回一个 User 对象,该对象是消息的发送者。但是因为from它是一个python 关键字(在导入时使用),所以我们不能使用它,它会引发 SyntaxError。

作为一种替代方法,我们可以使用chat属性,它在个人聊天中返回一个用户对象和一个GroupChat不包含的组中的对象以及有关用户的信息。此外,我找不到任何直接报告此错误的方法。

所以问题是有什么方法可以完成这项工作吗?或者任何替代解决方案?

0 投票
1 回答
4157 浏览

python - 为什么 telegram.Bot.getUpdates() 长轮询会立即返回?

根据电报 api,该getUpdates函数使用长轮询(wiki)接收传入的更新。来自维基:

如果服务器在收到轮询时没有任何信息可供客户端使用,则服务器不会发送空响应,而是保持请求打开并等待响应信息可用。一旦它确实有新信息,服务器立即向客户端发送一个 HTTP/S 响应,完成打开的 HTTP/S 请求。

那么,为什么getUpdates()即使timeout设置了参数,函数也会立即返回呢?

函数调用: bot.getUpdates(offset=lastUpdateID, timeout=120)

没有新的更新,offset=lastUpdateID 是最后一次更新。

我正在使用库python 电报机器人库

0 投票
2 回答
11815 浏览

python - 在 python 中处理 Telegram 机器人的多个问题

我正在使用 Telegram bot API 在 Python 中编写一个电报机器人。我面临管理需要用户回答的问题的问题。当程序正在等待一个用户的回答和另一个用户请求信息或在第一个用户响应之前询问另一个问题时,就会出现问题。

Telegram API 使用代码来处理请求。当您要求更新时,您会包含一个代码。如果您发送的代码高于请求代码,则将其标记为已处理,电报将其删除,不再出现在更新中。此代码是连续的,因此如果您将更新 3 标记为已处理,更新 1 和 2 也会被删除。

问题是为什么处理需要用户回答的多个请求的最佳植物/优雅方式是?

0 投票
1 回答
10000 浏览

python-telegram-bot - Telegram API:在收到来自该用户的第一条消息之前不会向用户发送消息

我使用 Telegram API 通过我的机器人向用户发送消息。当用户向我发送消息时,该操作有效,但是当我想向以前没有向我发送任何消息的用户发送消息时,会发生错误(我有他的用户 ID):

有没有办法解决这个问题?

0 投票
3 回答
26977 浏览

python - Telegram bot API:获取消息 ID 以转发它

所以,我需要我的机器人来转发聊天消息。但为了做到这一点,我需要获取我想要转发的消息的 id(这是一条旧消息)。如何获取该消息的 id 以便发送?

这是我正在使用的代码

0 投票
2 回答
9580 浏览

telegram - 如何以编程方式检查手机号码是否已在 Telegram 中注册?

我想知道知道手机号码是否已注册到 Telegram Messenger 的最佳方法是什么?

谢谢。

0 投票
1 回答
5496 浏览

python - 电报机器人 api 键盘

我对 Telegram Bot Api 和“ReplyKeyboard”有疑问。我正在使用 Python 2.7 并发送发布请求:

这种格式的键盘:

但是在 Telegram 中我看不到键盘。可能是什么问题?

0 投票
2 回答
1467 浏览

python - ArchLinux ARM 上的 ImportError

我已经制作了一个 Python 程序,它可以上网并在某个网站上查找新闻,如果发现了什么,它会在 Telegram 上向我发送一条消息。我已经在我的 Debian 机器上运行了我的程序并且它可以工作,现在我想把它放在我的 Raspberry Pi 上让它运行......所以我复制了我的树莓派上的所有文件安装了所有必要的库(包括https:// github.com/eternnoir/pyTelegramBotAPI)但是当我运行我的程序时:

我得到:

ImportError:没有名为 Telebot 的模块

我可以做什么?为什么我会收到这个错误?编辑:

错误可能是 Bruno9779 所说的。这些是我的输出:

所以我将 shebang 更改为 #!/usr/bin/python2 -tt (我也尝试过使用 #!/usr/bin/env python2 -tt 但我仍然遇到同样的错误)

0 投票
2 回答
24723 浏览

telegram - 在 python-telegram-bot 中如何获取该组的所有参与者?

Python-telegram-bot中,如果可能的话,如何获取添加该机器人的组的所有参与者的完整列表?

0 投票
1 回答
4060 浏览

python - Python-Telegram-bot 库 - getUpdates 返回空

所以基本上我是按照https://pypi.python.org/pypi/python-telegram-bot的说明进行操作的,但是当我到达

但是,我的更新总是 [] 或一个空列表。无论我使用电报发送多少条短信。

我做错了什么吗?

奖金

我将它设置为回显,但现在即使我尝试使用

命令发送但它仍然回显。我在这里做错了吗?

谢谢!:D