Асадбек Зайлобиддинов, дополню свой ответ
В команду старт закладываешь условие существования пользователя в БД - тут у тебя будет список айдишников
Командой bot.send.... TRY циклом отправляешь сообщения всем пользователям из БД - создаешь, например FSM, где на этапах он берёт твой текст и медиа и последним циклом рассылает их всем по списку. Except - удалить из БД.
Ну тактооварищь и так вам помог, продолжайте его логику. Раз бот реагирует, значит необходимо сделать условие, что если в ожидании бонуса - не реагировать, если нет реагировать и т.п. опять же какой вопросы такой и ответ
Ну, как я вижу, как минимум, но это уже повод делать "бота под бота" как ты говоришь, это ограничения самого телеграмма (может просто заглушить или заблокировать) из-за спама и большого в секунду потока инфы, а второе, если из-за действий одного забанят бота, больно всем. Каждый бык несет свои яйца, поэтому для своих целей создавай своего бота. Это первые мысли, дальше думать не хочу)
Самый простой способ - это костыль. 1. Создать канал/чат. 2. Добавить туда двух ботов. 3. Второй бот при добавлении значения в БД простым await send....... пишет на канал маячек (что нужно, то и пишет). 4. Первый бот видит это и на каждое сообщение в этом чате реагирует отправкой сообщения у себя.
По сути 5 строчек кода на это все уйдет без лишних библиотек и т.п.
О ещё придумал. Добавляешь двух ботов в канал(группу,чат) где ты и два бота. Второй бот при добавлении в бд значения на канал пишет id юзера, который пригласил. А первый когда видит сообщение в этом канале (а там будут только ид) отправляет по этому ид сообщение у себя )
Frik44, думаю вариантов много, в том числе и красивых, но никогда не делая такого, и если других вариантов нет, то вот.
При добавлении в бд вторым ботом делаешь колонку к примеру MSG и стандартом записываешь значение 0 или None. В первом боте пишешь функцию проверки бд на значение 0 в колонке MSG и если они есть, построчно циклом для каждой строки отправляешь по ИД который пригласил сообщение нужное (в строке будут данные) и меняешь MSG с 0 на 1. А с помощью библиотеки asyncio данной функции присваиваешь инвервал запуска этой функции, например 30 сек или минуту или 10. И каждые к примеру 30 секунд "бот" будет чекать бд и отправлять сообщения всем, кому не отправил)