Как отправить/ответить личное сообщение 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}")
→ Ссылка