>>> list_members # ваш условный список message.guild.members
[223295891, 203782121, 585472288, 662542307, 264252668, 662160637, 892924337, 886407071, 728348376, 368100662, 620211181, 849446820, 717572567, 293893597, 35248466, 510554797, 285961215, 81540844, 438784306, 570386450]
>>> custom_list_user_id # список правильных пользователей
{593343947, 35248466, 570386450, 720039319, 268666647, 396541529, 728348376, 293893597, 729031587, 81540844, 892924337, 438784306, 368100662, 264252668, 662160637}
>>> set(list_members) & custom_list_user_id # в результате пересечения будут только те кто нужен.
{81540844, 892924337, 35248466, 570386450, 438784306, 368100662, 728348376, 662160637, 264252668, 293893597}
Что запись добавляется в базу смысла нет проверять, если только там нет какой-то сложной логики, что по пути от веба до базы данные прошли кучу сервисов и очередей.