Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317

В чат Телеграм бота не приходит ссылка

07.02.2023, 11:55. Показов 3100. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Написал Telegram-бота на PHP. При тестировании выявилась следующая проблема.

Бот сообщает админу, что новый пользователь начал регистрацию.

PHP
1
message_to_telegram($bot_token, $admin_id, "Новый пользователь <a href='tg://user?id=".$chat_id."'>$chat_id</a> начал регистрацию");
С большинством $chat_id все прекрасно работает. Но с некоторыми id, например 370210107, приходит просто текст, без ссылки! Почему?

Функция message_to_telegram, если нужно:


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function message_to_telegram($bot_token, $chat_id, $text, $reply_markup = ''){
$ch = curl_init();
$ch_post = [
    CURLOPT_URL => 'https://api.telegram.org/bot' . $bot_token . '/sendMessage',
    CURLOPT_POST => TRUE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_POSTFIELDS => [
        'chat_id' => $chat_id,
        'parse_mode' => 'HTML',
        'text' => $text,
        'reply_markup' => $reply_markup,
    ]
];
 
curl_setopt_array($ch, $ch_post);
curl_exec($ch);
}
Сам бот с этим пользователем отлично работает. Только админу приходит сообщение без ссылки.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2023, 11:55
Ответы с готовыми решениями:

Ошибка при создание чат бота телеграм на java openwatherorg
import org.telegram.telegrambots.ApiContextInitializer; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import...

Как заставить что-то написать моего телеграм бота в мой тг-чат?
Зарегистрировал в Botfather тг-бота получил токен бота и добавил бота в админы в мой тг-чат. Вопрос: Как этим ботом написать что-то в...

Какие есть варианты администрирования чат-бота в Телеграм, который принимает заказы?
Привет. Не знаю, если честно, в каком разделе задавать этот вопрос, поэтому пишу здесь, т.к. бот написан на С# :) В общем, бот принимает...

21
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 07:55  [ТС]
М-да. Похоже, придется надеяться на себя.
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
08.02.2023, 09:28
Сделай условие. Если пришли цЫфры, то прибаляй приставку html ссылку a href и добавляй эти цифры как остаток.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 09:34  [ТС]
Царь Бабай, можете еще раз сказать то же самое, только более внятно. Я ничего не понял...
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
08.02.2023, 09:37
Читсто из любопытства, что выведет при разных ID

PHP
1
2
3
4
5
6
7
8
9
10
if (preg_match('/\D/', $chat_id))
{
$text = "Новый пользователь <a href='tg://user?id=".$chat_id."'>$chat_id</a> начал регистрацию";
var_dump($text);
}else{
$text = "Новый пользователь <a href='tg://user?id=".$chat_id."'>$chat_id</a> начал регистрацию";
var_dump($text);
}
 
message_to_telegram($bot_token, $admin_id, $text);
Что выдаёт?
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 09:40  [ТС]
Если вот так отправляю

PHP
1
2
3
$chat_id = '758493595';
        
         message_to_telegram($bot_token, 758493595, "Новый пользователь <a href='tg://user?id=".$chat_id."'>$chat_id</a> начал регистрацию");
То все ок! в ЧАТ телеграм приходит ссылка.

PHP
1
2
3
        $chat_id = '370210107';
        
         message_to_telegram($bot_token, 758493595, "Новый пользователь <a href='tg://user?id=".$chat_id."'>$chat_id</a> начал регистрацию");
А если вот так, то просто текст. Чем второе id хуже ?
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
08.02.2023, 09:44
Строка 2я недописана....
замени
message_to_telegram($bot_token, 758493595,
на
message_to_telegram($bot_token, 370210107,
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 09:59  [ТС]
Зачем? Нужно, чтобы сообщения в мой чат приходили, а не тестируемого пользователя.

Добавлено через 7 минут
Вывел в файл, увидел

HTML5
1
Новый пользователь <a href='tg://user?id=370210107'>370210107</a> начал регистрацию
Почему, если отправить в Telegram конкретно с этим id в ссылку не превращается? приходит просто текст 370210107!

Добавлено через 5 минут
Если все нормально, то же самое!

HTML5
1
Новый пользователь <a href='tg://user?id=758493595'>758493595</a> начал регистрацию
Добавлено через 52 секунды
Может id похожа на телефон? или еще что?
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
08.02.2023, 10:15
ID отличаются видимо чем-то другим...
Может бот, а не человек, может не зарегистрирован...

Либо закрыл или удалил регистрацию (с удалением для бота истории и закрытии чата)

Не знаю, СдаюсЪ...
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 10:30  [ТС]
Нет, человек. Его чат существует, я могу с ним связаться. Кроме того он без проблем зарегистрировался в боте. Запись о нем корректно добавилась в базу данных. А там у меня вся идентификация по этому id. Только почему-то админу приходит не ссылка.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.02.2023, 12:18
В документации написано:
Links tg://user?id=<user_id> can be used to mention a user by their ID without using a username. Please note:

These links will work only if they are used inside an inline link or in an inline keyboard button. For example, they will not work, when used in a message text.
Unless the user is a member of the chat where they were mentioned, these mentions are only guaranteed to work if the user has contacted the bot in private in the past or has sent a callback query to the bot via an inline button and doesn't have Forwarded Messages privacy enabled for the bot.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 12:38  [ТС]
Ну отлично. И чем же это может помочь?

Я без проблем вставляю чужой id пользователя, с которым у меня нет чата. И все работает. кроме этого случая.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.02.2023, 14:47
Цитата Сообщение от Artiom-1984 Посмотреть сообщение
Я без проблем вставляю чужой id пользователя, с которым у меня нет чата
Там не о вашем личном чате. Если пользователь не участвовал в чате, в котором упоминается или не контактировал с этим конкретным ботом, гиперссылка на него не появится.

Можем проверить. Укажите мой ID: 5010326040 и выполните код, отправляющий сообщение. Мой ID не должен подсветиться как гиперссылка. Потом скажите мне название бота, я его запущу и мой ID при повторной отправке сообщения должен подсветиться.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 15:47  [ТС]
Да, пришла, как просто текст. Но это понятно! Вы с моим ботом еще не общались. Это телеграмовская защита от спама.

А этот проблемный пользователь там зарегистрировался!

Бот называется Путь Истинного Я. На аватаре черный человек на желтом фоне.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.02.2023, 15:50
Цитата Сообщение от Artiom-1984 Посмотреть сообщение
А этот проблемный пользователь там зарегистрировался!
Хм... Странно.
Цитата Сообщение от Artiom-1984 Посмотреть сообщение
Бот называется Путь Истинного Я. На аватаре черный человек на желтом фоне.
Запустил его. Попробуйте снова отправить сообщение.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 15:55  [ТС]
Чтобы мне пришло сообщение достаточно только нажать start

Добавлено через 2 минуты
Para bellum, Можете еще раз кликнуть start? Вы наверное это сделали до того, как я успел закомментировать вписанное id

Добавлено через 1 минуту
В базе данных, кстати, Вы появились.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.02.2023, 16:04
Снова запустил.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 16:10  [ТС]
Пришла ссылка. С Вашим id все ok!

Добавлено через 2 минуты
Почему же то id приходит без ссылки, хотя пользователь с ботом без проблем общается?..
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
08.02.2023, 16:30
Цитата Сообщение от Artiom-1984 Посмотреть сообщение
Почему же то id приходит без ссылки, хотя пользователь с ботом без проблем общается?
Попробуйте в настройках какого-либо аккаунта, ещё не контактировавшего с вашим ботом, в Настройки > Конфиденциальность > Пересылка сообщений установить Никто и произвести проверку.
Возможно из-за подобных настроек аккаунта нельзя сослаться на этот аккаунт.

Если не из-за этого, то я не знаю, где искать причину.
0
52 / 5 / 1
Регистрация: 11.09.2018
Сообщений: 317
08.02.2023, 19:46  [ТС]
Para bellum, в чат бота пришло еще одно сообщение, что Вы начали регистрацию. Но уже Ваш id - не ссылка!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2023, 19:46
Помогаю со студенческими работами здесь

Файл картинки приходит текстом в телеграм
Проект сделан на laravel 5.8, php 7.1.3, при отправки формы обратной связи заявки в телеграм картинка приходит текстом ее названия ...

При отключении от сервера, в телеграм приходит скриншот белого экрана
здравствуйте. у меня вопрос. я арендую VPS на WINDOWS SERVER 2012 r2, мне на заказ написали программу, которая отправляет в телеграм...

Деплой телеграм бота
Где можно разместить телеграм бота, написанного на C#? На данный момент есть консольное приложение с ботом. Работает, если...

Оптимизация телеграм бота
Пытаюсь сделать телеграм бота для поиска. Вроде бы все готово, но вот проблема, def s работает слишком долго и отправляет сообщение...

PHP Бота телеграм
Ребята нужна помощь Скрипт установлен работает, ну не работает пару функций бота нужно пересмотреть исходняк дам весь доступ к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru