Помогите допилить функцию в боте написанном с помощью библиотеки telebot
Есть вот такой код:
admin_ids = [] # Замените на фактические идентификаторы администраторов
# Словарь для хранения сообщений от админов
admin_messages = {}
@bot.message_handler(commands=['send'])
def handle_send(message):
# Проверка, является ли отправитель администратором
if message.from_user.id in admin_ids:
# Сохранение сообщения админа
admin_messages[message.from_user.id] = True
bot.reply_to(message, "Какое сообщение вы хотите отправить?")
else:
bot.reply_to(message, "У вас нет доступа к этой команде.")
# Обработка всех остальных сообщений
@bot.message_handler(func=lambda message: True)
def handle_messages(message):
# Проверка, является ли отправитель администратором и ожидает ли ввода сообщения
if message.from_user.id in admin_ids and admin_messages.get(message.from_user.id):
# Отправка сообщения или фотографии всем пользователям
if message.content_type == 'text':
text = message.text
connect = sqlite3.connect('users.db')
cursor = connect.cursor()
cursor.execute("SELECT id FROM login_id")
users = cursor.fetchall()
for user in users:
try:
bot.send_message(user[0], text)
except Exception as e:
print(e)
cursor.close()
connect.close()
elif message.content_type == 'photo':
photo = message.photo[-1].file_id
connect = sqlite3.connect('users.db')
cursor = connect.cursor()
cursor.execute("SELECT id FROM login_id")
users = cursor.fetchall()
for user in users:
try:
bot.send_photo(user[0], photo)
except Exception as e:
print(e)
cursor.close()
connect.close()
# Сброс флага ожидания сообщения от админа
admin_messages[message.from_user.id] = False
else:
bot.reply_to(message, "Команда не распознана или у вас нет доступа для отправки сообщений.")
Этот код сейчас может рассылать только текстовые сообщения, но нужно чтобы он мог ещё отправлять фото и фото с подписями.
В идеале конечно сделать так, чтобы он мог рассылать сообщения любого типа.