Да, вы вполне можете создать бота-администратора на Aiogram, который будет отправлять сообщения по расписанию и самостоятельно инициировать сообщения в группе, не дожидаясь команд от пользователей.
### Основные шаги для реализации:
1. **Создание бота и его настройка**:
- Создайте бота с помощью BotFather в Telegram и получите токен.
- Настройте ваш бот с помощью библиотеки Aiogram.
2. **Использование `asyncio` и `schedule`**:
- Вам нужно будет использовать асинхронные функции и периодические задачи. Для этого можно использовать библиотеку `schedule` или другие решения для планирования задач, такие как `APScheduler`, которые хорошо интегрируются с асинхронным кодом.
3. **Отправка сообщений по расписанию**:
- Создайте функцию, которая будет отправлять сообщения в нужные временные интервалы. Например, можно делать это с помощью одного из планировщиков, который будет запускаться в фоновом режиме.
4. **Пример кода**:
Пример кода может выглядеть следующим образом:
```python
import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
from apscheduler.schedulers.asyncio import AsyncIOScheduler
API_TOKEN = 'YOUR_BOT_TOKEN'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
# Функция для отправки сообщений
async def scheduled_job():
chat_id = 'YOUR_GROUP_CHAT_ID'
await bot.send_message(chat_id, "Это сообщение будет отправлено по расписанию!")
if __name__ == '__main__':
scheduler = AsyncIOScheduler()
scheduler.add_job(scheduled_job, 'cron', hour='8,20') # Отправляем сообщение в 8 и 20 часов
scheduler.start()
# Запускаем бота
executor.start_polling(dp, skip_updates=True)
```
5. **Назначение бота администратором**:
- После создания и настройки бота, вы можете добавить его в вашу группу и назначить администратором с соответствующими правами, чтобы он мог отправлять сообщения.
6. **Использование вебхуков (по желанию)**:
- Если вы хотите сделать бота более надежным (например, чтобы он работал постоянно без необходимости в перезапуске), можно рассмотреть возможность использования вебхуков вместо опроса (polling).
Таким образом, бот может отправлять сообщения автоматически по установленному расписанию, не ожидая команды от пользователей даже после перезапусков.