как сделать так чтобы тг бот отправлял сообщения в определённый топик?

Рейтинг: 0Ответов: 1Опубликовано: 08.08.2023

как сделать так чтобы тг бот отправлял сообщения в определённый топик?

использую библиотеку telebot (pyTelegramBotAPI)

Ответы

▲ 2Принят

Чтобы отправлять сообщения в определённый топик, вам нужно узнать его message_thread_id, чтобы узнать его используйте этот код:

import telebot

TOKEN = 'YOUR_BOT_TOKEN'

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(func=lambda message: True)
def echo_message(message):
    chat_id = message.chat.id
    try:
        msg_thread_id = message.reply_to_message.message_thread_id
    except AttributeError:
        msg_thread_id = "General"
    bot.reply_to(message, f"Chat ID этого чата: {chat_id}\nИ message_thread_id: {msg_thread_id}")

bot.polling()

Он выдаст вам chat_id группы, и message_thread_id это и есть id вашего топика, если выдает "None" значит вы пишите в General. Вот следующий код которым вы можете отправлять сообщения в конкретный топик

import telebot

TOKEN = 'YOUR_BOT_TOKEN'
bot = telebot.TeleBot(TOKEN)

TARGET_CHAT_ID = 'YOUR_TARGET_CHAT_ID'
MESSAGE_THREAD_ID = 'YOUR_TARGET_CHAT_ID'

bot.send_message(TARGET_CHAT_ID, f"Привет мир", message_thread_id=MESSAGE_THREAD_ID)

bot.polling()