130600
This commit is contained in:
67
mainai_01.py
Normal file
67
mainai_01.py
Normal file
@@ -0,0 +1,67 @@
|
||||
import logging
|
||||
from aiogram import Bot, Dispatcher, types
|
||||
from aiogram.types import ParseMode
|
||||
from aiogram.utils import executor
|
||||
from pytube import YouTube
|
||||
|
||||
# Ваш токен от BotFather
|
||||
API_TOKEN = '7279978236:AAEnzp3moKdIUqOZ_rCLuim7tyQwVBJDGOU'
|
||||
# ID группы, из которой будут пересылаться сообщения
|
||||
#SOURCE_GROUP_ID = -1002243409068 # замените на реальный ID вашей основной группы
|
||||
# Список ID групп, куда будут пересылаться сообщения
|
||||
TARGET_GROUP_IDS = [-1002164079094, -1002243409068, -1002150063511] # замените на реальные ID ваших групп
|
||||
|
||||
# Список ID разрешённых пользователей
|
||||
ALLOWED_USER_IDS = [523763687, 1000964643, 794413216] # замените на реальные ID разрешённых пользователей
|
||||
|
||||
# Настройка логирования
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Инициализация бота и диспетчера
|
||||
bot = Bot(token=API_TOKEN, parse_mode=ParseMode.HTML)
|
||||
dp = Dispatcher(bot)
|
||||
|
||||
# Обработчик команды /start
|
||||
@dp.message_handler(commands=['start'])
|
||||
async def send_welcome(message: types.Message):
|
||||
await message.reply("Привет! Я бот, который пересылает сообщения в группы.")
|
||||
|
||||
# Обработчик всех типов сообщений для пересылки из личных сообщений боту
|
||||
@dp.message_handler(content_types=types.ContentType.ANY)
|
||||
async def forward_message(message: types.Message):
|
||||
if message.chat.type == 'private': # Проверка, что сообщение пришло в личный чат
|
||||
if message.from_user.id in ALLOWED_USER_IDS: # Проверка, что пользователь разрешён
|
||||
for group_id in TARGET_GROUP_IDS:
|
||||
try:
|
||||
if message.content_type == types.ContentType.TEXT:
|
||||
await bot.send_message(chat_id=group_id, text=message.text, disable_notification=True)
|
||||
logger.info(f"Текстовое сообщение отправлено в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.PHOTO:
|
||||
await bot.send_photo(chat_id=group_id, photo=message.photo[-1].file_id, caption=message.caption, disable_notification=True)
|
||||
logger.info(f"Фото отправлено в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.DOCUMENT:
|
||||
await bot.send_document(chat_id=group_id, document=message.document.file_id, caption=message.caption, disable_notification=True)
|
||||
logger.info(f"Документ отправлен в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.VIDEO:
|
||||
await bot.send_video(chat_id=group_id, video=message.video.file_id, caption=message.caption, disable_notification=True)
|
||||
logger.info(f"Видео отправлено в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.AUDIO:
|
||||
await bot.send_audio(chat_id=group_id, audio=message.audio.file_id, caption=message.caption, disable_notification=True)
|
||||
logger.info(f"Аудио отправлено в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.VOICE:
|
||||
await bot.send_voice(chat_id=group_id, voice=message.voice.file_id, caption=message.caption, disable_notification=True)
|
||||
logger.info(f"Голосовое сообщение отправлено в группу {group_id}")
|
||||
elif message.content_type == types.ContentType.VIDEO_NOTE:
|
||||
await bot.send_video_note(chat_id=group_id, video_note=message.video_note.file_id, disable_notification=True)
|
||||
logger.info(f"Видеозаметка отправлена в группу {group_id}")
|
||||
else:
|
||||
logger.warning(f"Тип сообщения {message.content_type} не поддерживается")
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка при отправке сообщения в группу {group_id}: {e}")
|
||||
else:
|
||||
logger.warning(f"Пользователь {message.from_user.id} не имеет доступа к боту")
|
||||
await message.reply("У вас нет доступа к этому боту.")
|
||||
|
||||
if __name__ == '__main__':
|
||||
executor.start_polling(dp, skip_updates=True)
|
||||
Reference in New Issue
Block a user