标签: telegram-api

当我想在 API 开发工具部分创建 API id/hash 时,my.telegram.org 发送错误

我正在尝试获取我的 API id/哈希来创建一些用于电报的机器人,但是在API 开发工具部分中,当我输入我的机器人信息(名称、短名称...)并单击“创建”以获取结果时,我收到错误:

my.telegram.org 说错误

我住在伊朗,这里的电报服务器被封锁了。

这个问题有什么解决办法吗?

!! 我找到了仅限伊朗人的解决方案,我将其写在下面。

telegram telegram-bot telegram-api

37
推荐指数
5
解决办法
4万
查看次数

如何使用我自己的帐户向具有电报 API 的人发送消息

当你找不到合适的词时,谷歌的东西会很烦人,这真是太棒了。我找到了一百万个关于如何创建一个 Telegram Bot 来发送和接收消息的答案,这很容易,只需编写五行代码即可。

但是如何管理我自己的帐户?我想知道是否有可能使用 Python(电信或其他库)检索我的个人消息并从我的个人帐户发送消息,而不是使用机器人。

如果可能的话,我在哪里可以找到更多相关信息

python python-telegram-bot telegram-bot telegram-api

9
推荐指数
1
解决办法
1万
查看次数

Telegram bot api:GIF 上传/下载大小问题

遇到问题,当我尝试将 GIF 发送到我的机器人时,但机器人无法访问图像的原始大小。似乎电报服务器将其转换为 mp4(这是个好主意,看起来不错),当我尝试下载它时 - 它总是看起来像一个最大 320 像素的缩略图

看起来,它是一个api 错误,因为例如这里:

在此处输入图片说明

它描述为 600x473px,但实际下载的 mp4 大小是:

在此处输入图片说明

所以,试图理解 - 我在这里错了,因为我的项目需要原始 gif 大小......也许这里存在任何解决方法?

附:如果手动将 gif 转换为 mp4 并保存质量和大小,然后提交给 bot - 它工作得很棒,没有任何额外的压缩等,但在使用 bot 之前要求使用它是不可接受的。

更新 :

要重现(您需要 bot/bot_token 并且还需要能够使用 json 接收 webhook):

1)通过 Windows 10 电报客户端 (v2.1.10)将此 gif ( https://c2n.me/47Y3H37.gif ) 发送到机器人。使用“无压缩发送”。Gif 大小:600x473,3.35MB

2) Bot 接收和 Telegram 发送 webhook :

{
  "update_id": 290360893,
  "message": {
    "message_id": 21,
    "from": {
      "id": 101483786,
      "is_bot": false,
      "first_name": "edited",
      "last_name": "edited", …
Run Code Online (Sandbox Code Playgroud)

telegram telegram-bot telegram-webhook telegram-api

8
推荐指数
1
解决办法
1324
查看次数

使用 Python 从 Telegram 频道获取最后一条消息

我正在使用python-telegram-bot库在 Python 中编写一个机器人,该机器人将 URL 发送到该机器人是管理员的通道中。

现在,我想让机器人读取最后 5 条消息(我并不关心数字,因为我只需要阅读聊天中的消息)并将它们存储到代码中的列表中进一步阐述。

我已经让我的机器人使用:

bot = telegram.Bot(token='mytoken')
bot.sendMessage(chat_id='@mychatid', text=entry.link)
Run Code Online (Sandbox Code Playgroud)

但我在 python-telegram-bot 库中找不到一个bot.getLastMessage或某种类。bot.getMessage

如果还没有书面类可以做到这一点,我如何通过 Telegram API 来实现它,因为我在 API 实现方面还是个初学者?

谢谢。

python telegram python-telegram-bot telegram-bot telegram-api

8
推荐指数
1
解决办法
1万
查看次数

Telegram 中可以通过按钮复制到剪贴板吗?

我正在编写一个电报机器人,它将与用户通信并向他发送 url 结果。我想实现内联按钮,该按钮将为copy to clipboard用户提供功能。我想要它,因为通过上下文菜单复制文本有点长而且不那么直观。

据我了解,我无法通过服务器端代码(通过Python)来做到这一点。所以我认为唯一的解决方案是使用 Telegram 功能(机器人的 API 和 Telegram 本身)。但我找不到任何。

我在 stackoverflow 上只找到了这个答案。它描述了长按Mono字体可以复制文本。它确实:

但在我看来,没有办法使链接可复制 - 它总是变成链接。

有人能建议一些有用的东西吗?

python telegram telegram-bot telegram-api

5
推荐指数
1
解决办法
1万
查看次数

telegram api 适用于 USER 而不是 BOT

所以我听说你可以在 TG 上创建 USER 机器人,就像在类似 BOT 的机器人中一样,但在 USER 帐户而不是 BOT 帐户中。

我已经搜索了很长时间,找不到任何与 MTProto 相关的库,其中有关于如何实际执行此操作的良好文档。

我发现了这个问题:如何在没有机器人的情况下使用 Telegram API?

然而它是另一种语言。

请让我知道这是否仍然可能,如果可以,哪些库对此有用 - 最好有文档的库。

java telegram telegram-bot telegram-api

5
推荐指数
1
解决办法
7055
查看次数

Telegram 机器人付款 - 付款成功后显示收据

我有一个处理付款的 Telegram 机器人。付款正常进行,但是,付款成功后我无法出示收据。

\n

当前的行为是:

\n
    \n
  1. 用户点击PAY按钮,填写卡信息并支付服务费用
  2. \n
  3. 处理付款并发送有关交易成功的消息
  4. \n
  5. 此时,我希望将“付款”按钮更改为“收据”按钮
  6. \n
\n

屏幕截图中的当前行为:

\n

目前的行为

\n

期望的行为:

\n

期望的行为

\n

所需的行为是从与@ShopBot 的聊天中截取的,它在 Telegram 文档中被称为测试工具。

\n

我在 Telegram 文档中找到的关于如何处理“收据”的唯一提及是https://core.telegram.org/bots/ payments中的这两句话:

\n
\n

如果发票消息是在与 @merchantbot 的聊天中发送的,它将成为用户 \xe2\x80\x94 用户界面中的收据,他们可以随时打开此收据并查看交易的所有详细信息。

\n
\n
\n

如果消息已发送到任何其他聊天,则“付款”按钮将保留并可以再次使用。商家机器人是否真正接受多次付款取决于商家机器人。

\n
\n

但是,我不明白如何在代码中实现这一点。据我所知,发票消息已发送到与我的机器人的聊天(如第一句中所示),因此它应该成为收据。

\n

该机器人是用 Node.js 编写的,并使用 webhook 来处理消息。webhook 的代码部分对于这个问题很重要:

\n
router.route(\'/\')\n    .post(async (req, res) => {\n        try {\n\n            // if pre_checkout_query is defined, there was an attempt for payment\n            if (req.body.pre_checkout_query) {\n                // use answerPreCheckoutQuery Telegram …
Run Code Online (Sandbox Code Playgroud)

javascript node.js telegram telegram-bot telegram-api

5
推荐指数
1
解决办法
2880
查看次数

如何验证 webhook 的请求是否来自 Telegram?

我有一个 Telegram 机器人,它设置为与 Telegram webhook 机制配合使用,但如何信任请求并知道它们是否来自 Telegram?

根据 Telegram 文档,我发现有两种方法:

  • 将它们限制为 telegam ip(这很脏,如果出于某种原因 telegam 更改其 ip,我的机器人将关闭,因此这不是一个选项)
  • 为 webhook 设置一个私有长 url,这样只有我的服务器和 telegram 知道该 url(我认为这不是一个足够好的解决方案来保护我的 webhook,如果由于某种原因我的 url 泄漏,则 url 是公开的,每个人都可以假装他们是 telegram,并且发送虚假请求)

这两个是我发现的,有什么我想念的吗?为什么 Telegram 不为其 Webhook 提供像 OAuth2 这样的 rsa 公钥或像 Github 这样的可信令牌或签名?私人网址足以保证安全吗?

telegram telegram-bot telegram-webhook telegram-api

4
推荐指数
1
解决办法
4539
查看次数

在哪里可以找到 Telegram Api 密钥

我正在尝试查找 Telegram 的 Api 密钥,但找不到。我在哪里可以在网站上找到它?如果我使用 Api Id,我会Incorrect Token Format在 C# 控制台应用程序中收到错误消息。

c# telegram telegram-api

3
推荐指数
2
解决办法
2万
查看次数

是否可以通过 API 将消息发送到 Telegram 的“已保存消息”?

是否可以通过Telegram API将消息发送到“已保存消息”聊天室?

我一直在互联网上查找但找不到任何信息。我认为这是可能的。

telegram telegram-api

3
推荐指数
1
解决办法
3923
查看次数

Telethon 中有没有办法从聊天中获取消息以及发件人姓名、日期和时间?

我可以从聊天中获取消息,但我需要在消息中添加发件人姓名、日期和时间。

python-3.x telegram telethon telegram-api

3
推荐指数
1
解决办法
7369
查看次数

C# 如何使用 Telegram API(不是 Bot API)从频道/联系人获取消息

我发现了许多使用 bot api 的示例,但是我需要一个简单的客户端,当收到来自联系人或组的消息时,作为用户而不是机器人(因此是 Telegram api,而不是 Bot api),它会实现一个事件。TLSharp 库没有实现此方法。实现这一目标的最佳方法是什么?

c# telegram telegram-api

3
推荐指数
1
解决办法
6692
查看次数

Telegraf.js 在 sendPhoto 上添加带有标记的按钮

我有bot.telegram.sendPhoto()这个代码:

bot.telegram.sendPhoto(
  channel_id,
  {source: filepath},
  { 
    caption: description.join("\n"), 
    parse_mode: 'MarkdownV2'
  }
)
Run Code Online (Sandbox Code Playgroud)

(描述是一个带有一些文本的数组。

所以我想添加一些按钮,然后执行一个操作,但我该怎么办?我已经尝试过这样的方式:

const buttons = Markup.keyboard([
            ["Test", "Test2"]
        ]).oneTime().resize().extra()
Run Code Online (Sandbox Code Playgroud)

然后将其添加到 parse_mode 之后的 {...} 中:

{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2',
  buttons
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我也在 {...} 之后尝试过

{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2'
},
buttons
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用。那我该怎么办呢?谢谢

node.js telegraf telegraf.js telegram-api

2
推荐指数
1
解决办法
1万
查看次数