PHP电报机器人:从id.txt向所有用户发送消息

Posted

技术标签:

【中文标题】PHP电报机器人:从id.txt向所有用户发送消息【英文标题】:PHP telegram bot: send message all users from in id.txt 【发布时间】:2018-11-23 09:37:50 【问题描述】:

我创建了一个 php 电报船。在这种情况下,我会将用户 ID 存储在 id.txt 文件中。

$message = $update->message;
$text1 = $message->text;
$fadmin = $message->from->id;
$baza = file_get_contents("id.txt");

$saqla2 = "$baza\n$fadmin";
file_put_contents("id.txt", $saqla2);

那么我如何向每个注册用户发送消息?所以你需要向所有少数族裔发送信息。

$text2 = str_replace("/xabar","",$text1);
  $response = file_get_contents("https://api.telegram.org/bot".API_KEY."/sendMessage?chat_id= //there all user id from $baza // &text=$text2");

【问题讨论】:

必须将‍message一一发给用户 没有别的办法了吗? 没有。电报不允许您同时向所有用户发送消息 其他机器人可以做到这一点 其他机器人??!!!什么?? 【参考方案1】:

您可以将user_ids 存储在文本文件中: 例如list.txt

108926499
108926497
108926496

现在向所有用户发送消息index.php

<?php
$apiToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

$users=file_get_contents('list.txt');
$users=explode("\n",$users);
foreach ($users as $user)

    if (empty($user)) continue;
    $data = [
        'chat_id' => $user,
        'text' => 'Hello world!'
    ];

    $response = file_get_contents("https://api.telegram.org/bot$apiToken/sendMessage?" . http_build_query($data) );

【讨论】:

在这种情况下,消息会重复多次。可以单程吗? if($text1 == "/send_all" &amp;&amp; in_array($fadmin, $admin)) $baza=explode("\n",$baza); foreach ($baza as $fadmin) if (empty($fadmin)) continue; $data = [ 'chat_id' =&gt; $fadmin, 'text' =&gt; 'hello world!' ]; $response = file_get_contents("https://api.telegram.org/bot".API_KEY."/sendMessage?" . http_build_query($data) ); 我不明白你到底想要什么?请解释更多 我不会说英语并使用谷歌翻译。错误是借口。如果我使用您编写的代码,“Hello World”将返回给用户。我只需要发送一次消息! 我的代码,首先从文件中读取所有用户,然后在电报中向他们发送消息。 用户向‌BOT发送消息时是否要向用户发送消息?

以上是关于PHP电报机器人:从id.txt向所有用户发送消息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用我的电报机器人使用他们的用户名向某人发送消息

我无法在电报 api 中使用强制回复

Android - 向特定号码发送电报消息

Telegram 向 webhook 发送重复的 POST JSON 请求

我如何以编程方式向@BotFather发送消息?

尝试通过电报机器人发送消息时出现语法错误