# IRC Bot Inquiries

**URL:** <https://discuss.dev.twitch.com/t/irc-bot-inquiries/1706>\
**Category:** Chat and IRC\
**Created:** [February 25, 2015, 2:03am UTC](https://discuss.dev.twitch.com/t/irc-bot-inquiries/1706 "2015-02-25T02:03:52Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![livewhiletrue](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/livewhiletrue/32/348_2.png) [@livewhiletrue](https://discuss.dev.twitch.com/u/livewhiletrue)\
**Post date:** [February 26, 2015, 3:53pm UTC](https://discuss.dev.twitch.com/t/irc-bot-inquiries/1706/9 "2015-02-26T15:53:47Z")

</div>

My guess is you would only need a bunch of sockets, not threads or program instances. Keep track of the load on each socket and distribute it accordingly.

For my current single outgoing socket implementation I keep a list of the timestamp on each sent message. When a timestamp is older than 30 seconds I can discard it. If my list is less than 100 (or whatever limit) timestamps long I know I can send another message. I intend to scale this by adding sockets/connections to spare that will be used when the primary is above limit.

---

_[View the full topic](https://discuss.dev.twitch.com/t/irc-bot-inquiries/1706)._
