I am planning on creating a bot that can be used by multiple users at once.
I know that a user will get soft-banned if he/she writes a certain amount of messages in a certain amount of time. But does that apply to multiple channels?
So if I had a lot of users using the bot, will it get soft-banned because it has to send lots of messages spread over multiple chat rooms?
The limit applies per connection, not per account (except for JOIN), so as long as you limit each connection according to the rate limits you will be fine. Make sure the bot is modded in each channel to use the higher limit (you should however apply the lower limit to your code, in case it’s unmodded somewhere).
If you find yourself getting close to the limits, you can simply spread out the bot’s actions over multiple connections/instances (let each connection manage a limited amount of channels depending on activity etc)
So if I run the bot script twice and thereby sending two JOIN requests to the IRC, that still counts as two instances and thereby doubles the amount of messages?
If you send more than 20 commands or messages to the server within a 30 second period, you will get locked out for 8 hours automatically. These are not lifted so please be careful when working with IRC!
Mods can type 100 messages in a channel before hitting this rate limit. If a message is sent to a room in which your global message count is already too high, you will be disconnected.
You can create multiple instances (run the bot twice as you say) and get the message limit per connection/instance. However, the JOIN limit will be limited per IP, hence “both instances” together.
What the others have said is correct. Keep in mind that these are undocumented, and we might rate limit connections in other ways (such as IP) if we find abuse.