标签: php-telegram-bot

电报机器人日志文件中的否定聊天ID

我有一个电报机器人并将所有用户活动保存在日志文件中.检查日志文件时,查找具有否定聊天ID的用户-107606558.这通常吗?

php-telegram-bot

14
推荐指数
1
解决办法
1824
查看次数

13
推荐指数
1
解决办法
9788
查看次数

如何在没有用户名的情况下提及Telegram用户?

我想提及那些没有用户名的用户.

如果用户已设置用户名,则返回

Hi @username 
Run Code Online (Sandbox Code Playgroud)

作为答案,但如果用户没有答案,我不能这样做.

我尝试使用唯一的用户ID,例如

@5642166
Run Code Online (Sandbox Code Playgroud)

但那没用.

我怎样才能做到这一点?

php telegram telegram-bot php-telegram-bot

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

使用sendPhoto发送动画GIF(Telegram bot)

我正在尝试使用sendPhoto(Telegram的Bot API)发送带有此请求的动画GIF:

https://api.telegram.org/bot<token>/sendPhoto?chat_id=<chat_id>&photo=http://i.giphy.com/13IC4LVeP5NGNi.gif
Run Code Online (Sandbox Code Playgroud)

该方法有效,我ok:true回来了,但聊天窗口中的图像是移动GIF​​的静态快照.

如何才能显示动画GIF?我应该使用另一种方法吗?

telegram telegram-bot php-telegram-bot

7
推荐指数
2
解决办法
9407
查看次数

电报内联机器人 - InlineQueryResultCachedPhoto 不显示标题和描述

我正在使用电报机器人 API来实现内联机器人。为了向用户发送查询结果,我answerInlineQuery以这种方式使用方法。这只是向用户显示存在于电报服务器上的照片的示例:

$results = array(
    array(
        "type" => "photo",
        "id" => "1",
        "photo_file_id" => the file id,
        "title" => "test title",
        "description" => "test description",
        "caption" => "test caption",
        "parse_mode" => "HTML"
    ),
);

$postFields["results"] = json_encode($results);
$postFields["cache_time"] = 0;

//send $postFields to telegram bot api server with curl
Run Code Online (Sandbox Code Playgroud)

这是有效的,在用户发送内联查询后,一张图像显示为结果列表。但问题是两个领域title,并description在结果列表不显示,即使这些都是存在的电报API文档在这里

有什么问题,为什么这两个字段没有出现在结果列表中?

telegram telegram-bot php-telegram-bot

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

如何获取 Telegram Bot 统计数据?

是否有任何方法可以使用 API 或 Web 界面或 BotFather 获取机器人的统计信息?或者我必须通过处理来自机器人 API 的更新来收集统计信息?

附:目前我通过处理来自机器人 API 的更新将统计信息存储在 Redis 中,但我希望找到更好的方法。

telegram-bot php-telegram-bot

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

防止将 Telegram bot 添加到任何组或频道(允许将其添加到白名单组/频道)

就我阅读 Telegram Bot API 的文档而言,Telegram 不会以任何方式限制对您的 webhook 回调的调用。

我正在创建一个 Telegram Bot,它仅适用于我将列入白名单的组和频道。

我可以过滤掉我在 webhook 回调中收到的消息。但是,恶意用户可以将我的机器人添加到一千个大组中,并可能导致所有其他用户拒绝服务。

即使 Telegram 实施了一些速率限制,此类用户操作仍可能导致所有其他用户拒绝服务。

如何指定 Telegram 机器人可以添加到的组和频道。

security telegram telegram-bot php-telegram-bot telegram-webhook

5
推荐指数
2
解决办法
4408
查看次数

强制关闭电报上的弹出窗口“打开此链接?”

当我在帖子中使用 html 格式并创建链接时,Telegram在打开链接之前会显示一个弹出窗口。是否有脚本或其他东西可以强制关闭弹出窗口并立即打开链接?

我不想插入没有 HTML 的链接。

弹出电报

python telegram python-telegram-bot telegram-bot php-telegram-bot

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

如何在 PHP 中从 Telegram 获取 callback_data

我想从响应中获取回调数据,但数组为空。

我试图在消息callback_data数组中显示。

这是我的代码:

$botToken = "token";
$botAPI = "https://api.telegram.org/bot" . $botToken;
$update = json_decode(file_get_contents('php://input'), TRUE);
$message = $update["message"]["text"]
$chatId = $update["message"]["chat"]["id"];
$callback_query = $update['callback_query'];
$callback_query_data = $callback_query['data'];
$url = $botAPI . '/sendMessage?chat_id=' . $chatId . '&text=';

if(isset($callback_query)){
    file_get_contents($url . $callback_query_data);
}

if($message == "/start"){
    $parameters = array('chat_id' => $chatId, "text" => "????????????. ???????? ????. \n???????. ??????? ??????? ?????.\nHi! Select your language.");
    $parameters["method"] = "sendMessage";
    $keyboard = ['inline_keyboard' => [[
        ['text' => "??????", 'callback_data' => 'tajik'],
        ['text' =>  "???????", …
Run Code Online (Sandbox Code Playgroud)

php telegram-bot php-telegram-bot

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

正则表达式匹配电报用户名并在 PHP 中删除整行

我想在消息文本中匹配 Telegram 用户名并删除整行,我试过这种模式,但问题是它也匹配电子邮件:

.*(@(?=.{5,64}(?:\s|$))(?![_])(?!.*[_]{2})[a-zA-Z0-9_]+(?<![_.])).*

模式应该匹配所有这些行:

嗨@username 你好吗?

嗨@username.你好吗?

@用户名。

并且不应该像这样匹配电子邮件:

嗨,电子邮件到 something@domain.com

php regex telegram-bot php-telegram-bot

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