Бот Telegram инициирует разговор с пользователем
Я пишу бота Telegram, чтобы упростить проблему, скажем, вы можете задавать вопросы боту на канале, и он отвечает вам лично. Когда бот получает команду, он принимает chat_id
пользователя из: update.message.from_user.id
Но когда я делаю это, я получаю ошибку:
Unauthorized: Forbidden: bot can't initiate conversation with a user
Это звучит вполне логично, так как я предполагаю, что это мешает писать спам-боты. Вопрос в том, как мне это преодолеть? Как я могу позволить пользователю включить личные сообщения от бота?
Примечание: бот успешно отправляет сообщения мне, но не другим пользователям.
2 ответа
Telegram Bots не может начать разговор с пользователем. Только пользователь может инициировать его, нажав на кнопку запуска. Там нет никакого способа обойти это.
В вашем случае вы можете попросить пользователя запустить бот, прежде чем задавать вопросы на канале, например, прикрепив кнопку, содержащую URL-адрес бота ( https://t.me/bot_username).
message.from_user.id
попробуйте вместо этого
message.chat.id