как реализовать пересылку сообщения(фото) от конкретного пользователя(админа например) остальным пользователям бота с помощью telebot?

пытался какими то разными способами сделать эту пересылку, пришел к тому что нужно создавать БД, которое будет собирать ID пользователей для рассылки. одно дело рассылать сообщение, предусмотренное кодом, а другое - сообщение от человека. код(бот) никак не распознает чат откуда пересылать, поэтому и пишу сюда. огрызки кода (извиняюсь за грязный код, я джун):

bot = telebot.TeleBot('mytoken')

@bot.message_handler(commands=['start'])
def handle_start(message):
    bot.copy_message(                      #<-- здесь просто смотрел будет ли работать
            chat_id='@myid',               #     копирование сообщения при команде старт
            from_chat_id=message.chat.id,  
            message_id=message.id  
        )
    with open('usr.txt', 'a+') as usr:[![введите сюда описание изображения][1]][1]
        print(message.chat.id, file=usr)

@bot.message_handler(commands=['raspysanie'])
def rassylka(message):
    if message.chat.id == 5707503924:
        for i in open('usr.txt', 'r').readlines():
            bot.copy_message(              #<-- тут уже пытался рассылать всем
            chat_id='@myid',               #     из БД, но опять ниче не вышло
            from_chat_id=message.chat.id,   
            message_id=message.id  
        )

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


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

Автор решения: Рустам Рысаев

Осторожнее с рассылками

admin_ids = []  

# Функция для записи ID пользователей в файл
def save_user_id(user_id):
    with open('usr.txt', 'a+') as file:
        file.write(str(user_id) + '\n')

@bot.message_handler(commands=['start'])
def handle_start(message):
    user_id = message.from_user.id  
    save_user_id(user_id)
    bot.reply_to(message, "Хелло ворлд!")

@bot.message_handler(commands=['raspysanie'])
def rassylka(message):
    if message.chat.id in admin_ids:
        with open('usr.txt', 'r') as file:
            user_ids = file.readlines()
        for user_id in user_ids:
            user_id = user_id.strip()  
            try:
                # Отправляем сообщение всем пользователям
                bot.forward_message(user_id, message.chat.id, message.message_id)
            except Exception as e:
                print(f"Не удалось отправить сообщение пользователю {user_id}: {e}")
    else:
        bot.reply_to(message, "У вас нет прав для отправки рассылки.")

@bot.message_handler(content_types=['photo', 'text'])
def handle_messages(message):
    if message.chat.id in admin_ids:
        with open('usr.txt', 'r') as file:
            user_ids = file.readlines()
        for user_id in user_ids:
            user_id = user_id.strip()
            try:
                bot.send_photo(user_id, message.photo[-1].file_id)
            except Exception as e:
                print(f"Не удалось отправить фото пользователю {user_id}: {e}")

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

→ Ссылка