Такие условия у меня были:
- 2 бота одновременно не могут быть залогинены под одним аккаунтом.
- бот, когда логинился, подключался к очереди сообщений(RabbitMQ) и оттуда брал смс о передаче шмотки юзеру.
Но у меня решалось тем, что к одному боту могло зайти, например, 10 запросов одновременно, что мол отправь шмотку такому-то юзеру. И что я сделал:
- сделал внутренние очереди(пакет с npm) и туда перебрасывал все смс с RMQ и распределял их по userID.
То есть одновременно я не мог для одного и того же юзера обрабатывать сообщение. При этом я мог параллельно обрабатывать смс для нескольких юзеров.