标签: telegram-webhook

电报机器人消息读取回调

只要用户使用Telegram bot API读取机器人发送的消息,是否有可能在webhook中获得回调?

它没有记录,我无法弄清楚如何实现它.

webhooks telegram telegram-bot telegram-webhook

13
推荐指数
3
解决办法
5714
查看次数

清除Telegram Bot中的"​​pending_update_count"

我想pending_update_count在我的机器人中清除所有内容!

以下命令的输出:

https://api.telegram.org/botxxxxxxxxxxxxxxxx/getWebhookInfo
Run Code Online (Sandbox Code Playgroud)

显然我用xxx替换了真正的API令牌

这是 :

{
 "ok":true,"result":
    {
     "url":"",
     "has_custom_certificate":false,
     "pending_update_count":5154
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我5154现在有未读更新!(我很确定这个挂起的更新是错误的!因为没有人使用这个Bot!它只是一个测试Bot)

顺便说一下,这个pending_update_count数字正在快速增长!现在我正在写这篇文章,这个数字增加了51,达到了5205!

我只想清除这些待定更新.我很确定这个Bot已陷入无限循环!

有没有办法摆脱它?

PS:

我也清除了webhook网址.但没有改变!

更新:

输出getWebhookInfo是这样的:

{
   "ok":true,
   "result":{
      "url":"https://somewhere.com/telegram/webhook",
      "has_custom_certificate":false,
      "pending_update_count":23,
      "last_error_date":1482910173,
      "last_error_message":"Wrong response from the webhook: 500 Internal Server Error",
      "max_connections":40
   }
}
Run Code Online (Sandbox Code Playgroud)

为什么我得到Wrong response from the webhook: 500 Internal Server Error

webhooks telegram telegram-bot telegram-webhook

9
推荐指数
2
解决办法
7653
查看次数

从电报机器人发送消息的限制是什么

我想了解 Telegram bot API 对消息发送施加的限制。

我知道目前您不能向不同的用户发送超过 30 条消息。

我有许多机器人在同一台服务器上运行(Webhooks 和 Pull Updates),它们会影响彼此的限制吗?

我还有一个多租户机器人,您可以注册许多机器人帐户,并且它将以相同的方式同时管理它们。

如果我使用不同的机器人帐户(令牌)发送消息但来自同一服务器,它是否将我限制为每个主机或每个机器人帐户 30 条消息?

telegram telegram-bot telegram-webhook

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

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
查看次数

如何在 Telegram BotFather 中设置创建的游戏的 Url?

我在 BotFather Telegram 中创建了一个新游戏。但是没有关于游戏链接的任何问题。此外,在“sendGame”函数中没有任何参数来设置游戏网址。如何在 BotFather 创建的游戏后面设置我的 gameUrl?

我应该说,我正在使用 Microsoft Bot Framework 来开发我的机器人。

webhooks telegram-bot botframework telegram-webhook

6
推荐指数
1
解决办法
1181
查看次数

无法将音频上传到 telegram 错误请求:无法获取 HTTP URL 内容

我有 mp3 的工作 url,并且我正在尝试通过此 url 将音频发送到 Telegram。它有时会起作用,但大多数时候都会出错

"A request to the Telegram API was unsuccessful. The server returned HTTP 400 
Bad Request. Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: failed to get HTTP 
URL content"}']"
Run Code Online (Sandbox Code Playgroud)

我不明白为什么,因为我检查了大小和类型,一切都很清楚,我在 Telegram API 文档中找不到更多限制。谁知道错误原因是什么?

链接到 mp3 - http://data3.api.xn--41a.ws/vkp/cs9-5v4.userapi.com/p15/51bdb5ec5899ed.mp3

python-3.x telegram python-telegram-bot telegram-bot telegram-webhook

6
推荐指数
1
解决办法
6532
查看次数

在 Heroku 上使用 Go、GoLang 的 Telegram Bot API Webhooks

go-telegram-bot-api用于构建 Telegram Bot 并将其部署在Heroku 上

我需要像以前在 Python 中所做的那样设置 Webhooks,就像在这个 Python 案例中一样

无法理解如何在go-telegram-bot-api不提供证书文件的情况下设置 Webhooks 。

主要示例包含以下几行:

如果您需要使用网络钩子(如果您希望在 Google App Engine 上运行),您可以使用稍微不同的方法。

package main

import (
    "gopkg.in/telegram-bot-api.v4"
    "log"
    "net/http"
)

func main() {
    bot, err := tgbotapi.NewBotAPI("MyAwesomeBotToken")
    if err != nil {
        log.Fatal(err)
    }

    bot.Debug = true

    log.Printf("Authorized on account %s", bot.Self.UserName)

    _, err = bot.SetWebhook(tgbotapi.NewWebhookWithCert("https://www.google.com:8443/"+bot.Token, "cert.pem"))
    if err != nil {
        log.Fatal(err)
    }

    updates := bot.ListenForWebhook("/" + bot.Token)
    go http.ListenAndServeTLS("0.0.0.0:8443", "cert.pem", "key.pem", nil) …
Run Code Online (Sandbox Code Playgroud)

heroku go webhooks telegram-bot telegram-webhook

6
推荐指数
1
解决办法
3448
查看次数

Telegram Bot API:如何获取收到的照片的 MIME 类型

如何获取用户发送给我的机器人的 MIME 类型的照片?

我通过Telegraf使用 Telegram Bot API 。

我的机器人正在保存用户发送的照片和视频中的文件 ID,我希望稍后能够下载这些文件。getFile下载它们的方法的电报 API指出:

注意:此函数可能不会保留原始文件名和 MIME 类型。当收到 File 对象时,您应该保存文件的 MIME 类型和名称(如果可用)。

我不完全确定这是什么意思。到目前为止我还没有收到一个File对象,它甚至不包含 MIME 类型。我认为他们想说的是,下载实际文件时,MIME 类型(和文件名)可能会混淆,因此您应该自己存储它。

当查看不同文件类型的更新类型时,它们通常包含 MIME 类型,如下所示:Video。不幸的是,照片的更新对象不包含以下信息:PhotoSize。还有其他方法可以获取 MIME 类型的照片吗?

感谢您的帮助。

telegram telegram-bot telegraf telegram-webhook

6
推荐指数
1
解决办法
2562
查看次数

无法使用模块 aioflask(Python)。ImportError:无法从“flask.ctx”导入名称“_app_ctx_stack”

我需要使用 aioflask 为我的 telegram-bot 设置 webhook。这是我的代码,我在其中设置了 webhook:

from aioflask import Flask, request
...

app = Flask(__name__)
...

@app.route('/')
async def webhook():
    await bot.delete_webhook()
    await bot.set_webhook(url=APP_URL)

    return '!', 200
...
Run Code Online (Sandbox Code Playgroud)

但是,当我运行应用程序时,它给了我这个错误:

Traceback (most recent call last):
  File "D:/Python_Projects/FilmMarketBot/check.py", line 1, in <module>
    from aioflask import Flask, request
  File "D:\Python_Projects\FilmMarketBot\venv\lib\site-packages\aioflask\__init__.py", line 2, in <module>
    from .app import Flask
  File "D:\Python_Projects\FilmMarketBot\venv\lib\site-packages\aioflask\app.py", line 14, in <module>
    from .ctx import AppContext, RequestContext
  File "D:\Python_Projects\FilmMarketBot\venv\lib\site-packages\aioflask\ctx.py", line 4, in <module>
    from flask.ctx import AppContext as OriginalAppContext, \ …
Run Code Online (Sandbox Code Playgroud)

flask python-asyncio telegram-webhook

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

Telegram 用户名是否唯一?

当我从事机器人开发时,我发现来自用户的消息有一些名为 的字段username,例如

{
    update_id: 123567890,
    message: {
        message_id: 1,
        from: {
            id: 1234567890,
            is_bot: false,
            first_name: "Kappa",
            last_name: "Pride",
            username: "kappapride",
        }
    ...
}
Run Code Online (Sandbox Code Playgroud)

该字段是否包含唯一值,例如idfield?我知道,我可以与它建立 TG 链接(如@kappapride),但我不确定该字段是否为每个 TG 用户提供。

telegram telegram-bot telegram-webhook

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