Телеграм бот для общего сбора в группах

Я использую Python и библитеку Aiogram. У моего бота есть база данных куда он записывает участников группы и при команде /all он должен сделать общий сбор в группе, то есть созвать всех участников группы упомянув их в отправленном им сообщении. Я знаю что можно сделать это при помощи закрепления сообщения, но это не то чего я хочу. У меня есть своя версия бота общего сбора, вот исходный код:

import logging
from aiogram.contrib.fsm_storage.memory import MemoryStorage
import random
import sqlite3
import time
API_TOKEN = '....'
logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

def db():
    con = sqlite3.connect('zazivala.db')
    cur = con.cursor()
    cur.execute('CREATE TABLE IF NOT EXISTS db (users INTEGER, chats INTEGER)')
    con.commit()

@dp.message_handler(text='/add')
async def new_commands(message: types.Message):
    con = sqlite3.connect('zazivala.db')
    cur = con.cursor()
    result = cur.execute('SELECT users FROM db WHERE users = ? AND chats = ?', (message.from_user.id, message.chat.id)).fetchone()
    if len(str(result)) == 4:
        cur.execute('INSERT INTO db (users, chats) VALUES(?, ?)', (message.from_user.id, message.chat.id))
        con.commit()
        await message.reply(text='Добавил тебя в базу данных этого чата')
    else:
        await message.reply(text='Ты уже в базе данных этого чата')


@dp.message_handler(content_types=["left_chat_member"])
async def left_members(message):
    con = sqlite3.connect('zazivala.db')
    cur = con.cursor()
    cur.execute('DELETE FROM db WHERE users = ?', (message.from_user.id,))
    con.commit()

@dp.message_handler(text='/all')
async def call_all_users(message: types.Message):
    con = sqlite3.connect('zazivala.db')
    cur = con.cursor()
    alls = cur.execute('SELECT users FROM db WHERE chats = ?', (message.chat.id,))
    alls = alls.fetchall()
    for user in alls:
        text = ""
        text += f'{user}'.replace('(', '').replace(',','').replace(')','').replace(' ','')
        await message.answer(text=f'<a href="https://tg://user?id={text}">Общий сбор</a>', parse_mode=types.ParseMode.HTML)
    await message.answer('Общий сбор проведён успешно')

@dp.message_handler(text='/remove')
async def remove_user(message: types.Message):
    con = sqlite3.connect('zazivala.db')
    cur = con.cursor()
    await message.answer('✅ Ваш профиль был обновлен')
    cur.execute(f'UPDATE db SET users  = ? WHERE chats = ? AND users = ?', (message.from_user.id, message.chat.id, message.from_user.id))
    con.commit()



if __name__ == "__main__":
    db()
    executor.start_polling(dp, skip_updates=True)```

В моей версии бот отправляет сообщение, но этим сообщением он не может упомянуть участников группы. И я не знаю как это по другому реализовать, и прошу вас помочь.

Ответы (0 шт):