Telegram bot Telebot не реагирует на любые сообщения кроме текстовых

Пишу бота обратной связи, который работает через форум (группа с темами), попрошу помочь найти ошибку в коде. Бота менял, группу менял, аккаунт менял, ничего не помогло.

В общем, бот просто игнорит любые сообщения где content_type не text, пытался отправлять стикеры и картинки, но он их просто не видит.

import telebot
import sqlite3

from telebot.apihelper import ApiTelegramException

db = sqlite3.connect('base.db', check_same_thread=False)
c = db.cursor()
with sqlite3.connect('base.db'):
    c.execute('CREATE TABLE IF NOT EXISTS users (user_id INT NOT NULL PRIMARY KEY, topic_id INT NOT NULL)')
bot = telebot.TeleBot("ТОКЕН")
channel_id = АЙДИ ФОРУМА

def send_msg2(message):
    try:
        bot.copy_message(from_chat_id=channel_id, chat_id=c.execute(f"SELECT user_id FROM users WHERE topic_id = {message.message_thread_id}").fetchone()[0], message_id=message.message_id)
        print(message)
    except ApiTelegramException as e:
        #Проверяем, является ли ошибка блокировкой
        if "bot was blocked by the user" in e.description:
            bot.send_message(text="Пользователь заблокировал бота. Сообщение не отправлено.", message_thread_id=message.message_thread_id, chat_id=channel_id)
        else:
            bot.send_message(text="Не удалось отправить сообщение.", message_thread_id=message.message_thread_id, chat_id=channel_id)
def send_msg(message):
    try:
        bot.copy_message(from_chat_id=message.chat.id, chat_id=channel_id, message_id=message.message_id, message_thread_id=c.execute(f"SELECT topic_id FROM users WHERE user_id = {message.from_user.id}").fetchone()[0])
    except ApiTelegramException as e:
        if "message thread not found" in e.description:
            c.execute(f"UPDATE users SET topic_id = {bot.create_forum_topic(chat_id=channel_id, name=message.from_user.id, icon_color=0x6FB9F0).message_thread_id} WHERE user_id = {message.from_user.id}")
            bot.send_message(chat_id=channel_id, message_thread_id=c.execute(f"SELECT topic_id FROM users WHERE user_id = {message.from_user.id}").fetchone()[0], text='Создан новый топик так как старый был удлен.')
            bot.copy_message(from_chat_id=message.chat.id, chat_id=channel_id, message_id=message.message_id, message_thread_id=c.execute(f"SELECT topic_id FROM users WHERE user_id = {message.from_user.id}").fetchone()[0])
            db.commit()
def create_topic(message):
    c.execute(f"INSERT INTO users (topic_id, user_id) VALUES ({bot.create_forum_topic(chat_id=channel_id, name=message.from_user.id, icon_color=0x6FB9F0).message_thread_id}, {message.from_user.id})")
    db.commit()


@bot.message_handler(chat_types=['supergroup'])
def receiving(message):
    print(message)
    with sqlite3.connect('base.db'):
        send_msg2(message)


@bot.message_handler(chat_types=['private'])
def send_message(message):
    with sqlite3.connect('base.db'):
        if c.execute(f'SELECT topic_id FROM users WHERE user_id = {message.from_user.id}').fetchone() is None:
            create_topic(message)
            send_msg(message)
        else:
            send_msg(message)

bot.infinity_polling()

Ответы (1 шт):

Автор решения: Amgarak

бот просто игнорит любые сообщения где content_type не text

Так укажите в content_types что-то ещё кроме текста?‍♀️

import telebot

bot = telebot.TeleBot("ТОКЕН")


@bot.message_handler(
    content_types=[
        "audio",
        "photo",
        "voice",
        "video",
        "document",
        "text",
        "location",
        "contact",
        "sticker",
    ]
)
def echo(message):
    bot.copy_message(message.chat.id, message.chat.id, message.message_id)


bot.infinity_polling()

введите сюда описание изображения

→ Ссылка