Таким образом если разом вступит 10 человек то не будет на 5 экранов висеть 10 приветсвенных текстов а будет лишь один.
Сейчас код выглядит так, но не удаление ни даже запись в файл не проходит(
/ Стартуем бота
* @return bool
*/
public function init()
{
// получаем данные от АПИ и преобразуем их в ассоциативный массив
$rawData = json_decode(file_get_contents('php://input'), true);
// направляем данные из бота в метод
// для определения дальнейшего выбора действий
$this->router($rawData);
// в любом случае вернем true для бот апи
return true;
}
/ Роутер - Определяем что делать с данными от АПИ
* @param $data
* @return bool
*/
private function router($data)
{
// проверяем массив данных на нужный нам ключ
if (array_key_exists("new_chat_participant", $data['message'])) {
// достаем имя нового пользователя
$name = trim($data['message']['new_chat_participant']['first_name']
. ' ' . $data['message']['new_chat_participant']['last_name']);
// отправляем приветствие в чат
$pid_del_id = $this->botApiQuery("sendMessage", $data_send);
file_put_contents('pid.txt',$pid_del_id);
$data_send['message_id'] = $pid_del_id;
$this->botApiQuery("deleteMessage", $data_send);
$pid_del_id = $this->botApiQuery("sendMessage", [
'chat_id' => $data['message']['chat']['id'],
'text' => str_replace("{%username%}", $name, $this->helloText),
'disable_web_page_preview' => true,
'parse_mode' => 'HTML'
]
);
}
return true;
}
1. отправляешь сообщение с пустыми данными ($data_send) - записываешь в переменную $pid_del_id массив[] ответа после результата отправки - будет массив с ошибкой
2. записываешь массив[] ответа $pid_del_id в файл
3. $data_send['message_id'] присваиваешь массив[] ответа
4. удаляешь сообщение с неправильными данными (во-впервых в message_id дожнен быть int, во-вторых $data_send - не полный - отсутствует chat_id) - будет ошибка
Попробуйте вот этот код, правда его не тестировал