It’s entirely up to you how you wish to go about it. Some people run multiple connections from a single process, others use a separate process for each connection, it’s entirely up to you and what’s best for your use case, growth, and server.
Examples of ways to do this would be for a single process that loads the credentials for all bot accounts, then rather than creating just a single connection you create a connection for each account, and then just add the same listeners to each of them to reduce the need to duplicate code.
Or for a multi-process app you could run the app once for each account and pass the credentials to the process as arguments and the app would use whatever arguments it’s given to create a connection with.
Regardless of how you choose to go about it, you’re going to need 1 connection per account at a minimum (if some accounts are going to be in a lot of channels you may need to have multiple connections for that account), so as long as you’re reusing the same code for each connection then there isn’t a great deal of difference on the small scale.