Создать идентификатор чата в телеграмме из API или динамический для отправки сообщения боту
Я подготовил один API в php для отправки сообщения боту. Каждый раз мне нужно пройти chat_id
в вызове API. Кто-нибудь знает, как я могу создать уникальный идентификатор чата для отправки сообщения боту.
Заранее спасибо.
2 ответа
ChatID каждого пользователя уникален, и поэтому вы можете отправить сообщение из своей учетной записи Telegram своему боту и сохранить chatID. После этого, когда пользователь веб-сайта отправляет сообщение на ваш сайт, вы можете передать это сообщение своему боту через php и заставить бота отправить его себе, используя свой chatID.
Вам не нужно общаться с пользователем с помощью телеграммы, вам просто нужно использовать PHP, чтобы получить сообщение и передать его боту для отправки себе.
Обратите внимание, что боты могут отправлять сообщения только тем людям, которые ранее отправили им хотя бы одно сообщение.
По документации:
Боты не могут инициировать разговоры с пользователями. Пользователь должен либо добавить их в группу, либо сначала отправить им сообщение. Люди могут использовать telegram.me/ ссылки или поиск по имени пользователя, чтобы найти вашего бота.
Вы должны написать (или пользователь должен написать) сначала бот. После этого в ответ (получая через webhook или метод getUpdates) вы можете получить chat_id, который используется для написания сообщений пользователю.
Обновление: Если я правильно понимаю ваш комментарий, вы можете сделать это:
- Создайте страницу или модальное окно, которое можно использовать для отправки сообщения в службу поддержки.
- Поймайте это сообщение и отправьте его через метод sendMessage в службу поддержки.
Кому? Вы можете управлять этим. Я вижу два варианта:
- Вы можете создать группу для группы поддержки в telegram и добавить своего бота в эту группу.
- Вы можете хранить идентификаторы чата для всех членов команды поддержки на своей стороне и выбирать, как получить сообщение для каждого веб-сайта формы запроса поддержки.
- Когда бот получает сообщение, оно отправляется в бэкэнд (webhook или getUpdates), а из бэкэнда оно может быть показано конечному пользователю.