With multiple input feeds (gerrit, phorge, hopefully gitlab soon) and potentially multiple output messages per input because of diversity of irc channels and audiences, I think we need to rethink the anti-flood protections currently in use by the bot.
The basic protection applied today started from T112032: wikibugs - throttle output, don't get kicked for flooding. The decision there was to throttle the rate at which new events are pushed into the redis queue. This makes the message producer wait as the mechanism for implementing the delay. This delay however is per-producer, or rather per wikibugs2.rqueue.RedisQueue instance, so adding a new producer or a new connection to the backing Redis server increases the potential outbound message rate.
Since 2024-03-03 we have a ZNC instance between the irc bot and libera.chat. This instance is running with default FloodBurst and FloodRate settings which should limit the total output rate for lines headed towards libera.chat. Is this enough protection in a practical sense? If not what can we do to tune our irc3.IrcBot and/or the rate at which we take from the queue to defend against a flooding potential?