Ты можешь ловить команды вроде /+адм @username, а затем сравнивать, есть ли такой пользователь в твоей бд. И если есть, тогда брать его айдишник и делать его админом. Пример на aiogram:
# Отправляет сообщения всем пользователям.
async def announcement(message: types.Message):
if message.chat.id == admin_chat_id:
message_to_send = message.get_args()
stmt = select(Questionnaire).where(Questionnaire.is_delete == False, Questionnaire.is_banned == False)
result = engine.connect().execute(stmt).fetchall()
await bot.delete_message(message.chat.id, message.message_id)
for user in result:
try:
await bot.send_message(user.user_id, message_to_send)
except:
pass
await bot.send_message(message.chat.id, 'Сообщения доставлены')