Я пишу телеграмму бота с php. Я сохраняю пользователей chatid для отправки сообщения; использовать эту команду для отправки сообщения:отправить сообщение в телеграмме бот
/admin sendall:hellow
и в PHP приложение, используйте этот код:
case '/admin':
if ($chat_id == 'my chatid') {
$array = str_replace('/admin', '', $message);
$array = trim($array);
$array = explode(':', $array);
$Admin = new AdminCommand();
$Admin->getCommand($array[0], $array[1]);
} else {
sendMessage($chat_id, 'block ');
}
break;
AdminCommand класс:
class AdminCommand extends Database {
public function getCommand($command, $action = null) {
switch ($command) {
case 'sendall':
$this->sendall($action);
break;
default:
# code...
break;
}
}
public function sendall($message) {
$sql = $this->con->prepare('SELECT * FROM `users`');
$sql->execute();
$res = $sql->fetchAll();
foreach ($res as $row) {
sendMessage($row['chatid'], $message);
}
exit();
}
}
SendMessage функция:
function sendMessage($chatId, $message) {
$url = WEBSITE . "/sendMessage?chat_id=" . $chatId . "&text=" . urlencode($message);
file_get_contents($url);
}
Наиболее времени, когда он работает e, но иногда после отправки сообщения всем пользователям повторяет это снова и снова и не останавливается. Пока я удаляю базу данных. В чем проблема?
Я думаю, вам нужно закрыть соединение. – mhtb