Задать вопрос
@alexxxthunder

Как починить телеграм бота на Python, telebot?

Телеграм бот должен будет принимать любые сообщения, и отправлять их в чат админов, где админы могут ответить человеку. Сделал вот такой код, на текст реагирует, а на фото, видео, гиф и т.д. нет.

import telebot
from telebot import types
from config import token, moder_chat_id
import time


bot = telebot.TeleBot(token, parse_mode="HTML")


#Старт
@bot.message_handler(commands=["start", "help"])
def start(message):
    bot.send_message(message.chat.id, f" Привет, @{message.from_user.username}!\nЯ - бот для связи с модерацией канала @Kiss_and_hug, просто отправь мне сообщение, и я перешлю его модерации")


#Ответ
@bot.message_handler(commands=["answer"])
def answer(message):
    if message.chat.type != "private" and message.chat.id == moder_chat_id:
        try:
            id = message.text.split(maxsplit=2)[1]
            text = message.text.split(maxsplit=2)[-1]
            username = message.from_user.username
            bot.send_message(id, f" Модератор уже отправляет вам ответ, подождите...")
            bot.send_message(moder_chat_id, f" @{username}, ваше сообщение для пользователя ID - {id} отправлено!")
            time.sleep(3)
            bot.send_message(id, f"{text}")
        except Exception as e:
            bot.send_message(moder_chat_id, "❌ Ошибка: указан неверный ID!")
            

@bot.message_handler(func=lambda message: True)
def forward_message(message):
    print(message)
    if message.chat.type == "private":
        try:
            username = message.from_user.username
            id = message.from_user.id
            if message.text != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_message(moder_chat_id, message.text)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.photo != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_photo(moder_chat_id, message.photo[-1].file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.video != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_video(moder_chat_id, message.video.file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.sticker != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_sticker(moder_chat_id, message.sticker.file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.audio != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_audio(moder_chat_id, message.audio.file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.document != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_document(moder_chat_id, message.document.file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
            if message.animation != None:
                bot.send_message(moder_chat_id, f" Сообщение от пользователя @{username}, ID - {id}:")
                bot.send_animation(moder_chat_id, message.animation.file_id)
                bot.send_message(id, f" @{username}, ваше сообщение отправлено модераторам, ожидайте ответа!")
        except Exception as e:
            bot.send_message(id, f"❌ Ошибка: {e}")


if __name__ == "__main__":
    print("Бот запущен")
    bot.infinity_polling(none_stop=True)
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы