JOINs are rate-limited to 50 JOINs per 15 seconds. So you need to spread them out. Big bots like moobot take hours to rejoin on full reboot and usually offer “priority” to donors. I think there are higher limits for verified bots but I do not see that documented anywhere.
It used to be per connection but was changed to per account within the last year due to abuse. I recommend spreading out commands to stay within the limit. For example there is very little reason to run “.mods” when joining a channel unless you need to display the full list. For access control just use IRC v3 tags.