Как отправить/ответить личное сообщение telegram с Telebot?
Купил премиум телеграм и хочу сделать бота автоответчика, когда мне пишет пользователь то что бы бот ему отвечал. Или самому писать кому-то (в будущем).
import telebot
bot = telebot.TeleBot(bot_token)
# Handle all other messages.
@bot.business_message_handler(func=lambda message: True, content_types=['audio', 'photo', 'voice', 'video', 'document',
'text', 'location', 'contact', 'sticker'])
def default_command(message):
user_id = message.from_user.id
chat_id = message.chat.id
bot.send_message(message.chat.id, f"This is the default command handler.{user_id} {chat_id}")
но ловлю ошибку из-за bot.send_message
ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 403. Description: Forbidden: bot can't initiate conversation with a user
Я понимаю что проще тогда создать клиента а не бота, но все же...
Ответы (1 шт):
Автор решения: Tiarait
→ Ссылка
Если нужно отвечать на сообщения через бота (премиум телеграм). То нужно указывать business_connection_id при отправке сообщений.
@bot.business_message_handler(func=lambda message: True)
def handle(message: Message):
business_id = message.business_connection_id
user_id = message.from_user.id
chat_id = message.chat.id
print("got business_message_handler start")
bot.send_message(chat_id=message.chat.id, business_connection_id=business_id, text=f"This is the default command handler.{user_id} {chat_id}")