Как сделать рассылку пользователям телеграм бота с удалением по нажатию на инлайн кнопку? Python, aiogram
Создаю телеграм-бота с рассылкой, которая удалится при нажатии на Inline-кнопку. Подключена база данных sqlite3, и рассылка отправляется всем, но не могу сделать чтобы была возможность удаления. Пробовал сделать рассылку через комманду на подобии /rassl 1 д текст_рассылки, и чтобы рассылка удалялась через время заданное в комманде (1 день, например), но тоже не получилось. Возникает ошибка aiogram.utils.exceptions.MessageToDeleteNotFound: Message to delete not found Что делать? Вот фрагмент кода:
@dp.message_handler(commands='rassl')
async def test(message: types.message):
if message.chat.type == 'private':
if message.from_user.id == FIRST_ID or message.from_user.id == SECOND_ID:
users = db.get_users()
global admessage
try:
admessage = " ".join(message.text.split()[1:])
except IndexError:
await message.reply("Не хватает аргументов!\nПример:\n`/rassl текст_рассылки")
return
global button
global msg
global reply
reply = message.chat.id
keyboard_markup = types.InlineKeyboardMarkup()
btn = types.InlineKeyboardButton('Удалить рассылку!', callback_data= 'press')
keyboard_markup.row(btn)
for row in users:
global msg
msg = await bot.send_message(row[0], admessage) ## отправление рассылки (работает)
button = await bot.send_message(message.chat.id, 'Рассылка отправлена!', reply_markup=keyboard_markup)
@dp.callback_query_handler(lambda c: c.data == 'press')
async def delete_test(call: types.CallbackQuery):
for row in users:
await msg.delete() ## Удаление (не работает)
await button.delete()
await bot.send_message(reply, 'Рассылка удалена!')