In the past month alone, my server has been botted on 2-3 occasions with 100+ bots each attack. Currently, our server makes the user read the rules and type a phrase to be allowed to chat in the rest of the server. This stops bots from spamming the main chats but does not block them from sending spam private messages. One way I can think of combating this is by adding a permission that allows users with the permission to send private messages. This would block pms from the bots to random users within the server. People with the role would still be able to add people to send a pm so it doesn't completely block the use of private messages to the regular user.
If this idea does not work, I hope there is a fix to these "congratulations" and "giveaway" bot spams.