Skip to content

Instantly share code, notes, and snippets.

@qaisjp
Created April 20, 2020 21:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qaisjp/c797f9ac6c760f2df57cf505d1ee34d9 to your computer and use it in GitHub Desktop.
Save qaisjp/c797f9ac6c760f2df57cf505d1ee34d9 to your computer and use it in GitHub Desktop.
https://discordapp.com/channels/315277951597936640/315277951597936640/687341476883202066
[19:59] qaisjp: note to self; stop testing in production
[20:09] Simon: a custom ircd could avoid sending any join/parts except to the main bot
[20:09] Simon: although for 1000 users it'd be better to use the s2s protocol
[20:10] Simon: which ideally needs a completely robust pretend server that doesn't do odd things
[20:10] qaisjp: I think that was our second idea wasn't it? Custom ircd?
[20:10] qaisjp: Or at least a second idea that was had for a different bridge
[20:11] qaisjp: What's the S2S protocol?
[20:11] qaisjp: Server to server
[20:11] Simon: it was the first idea but then I decided it would be easier to let you connect multiple times
[20:11] Simon: it varies for each ircd software
[20:11] Simon: you'd probably want a generic library for doing it so you could hook it up to any ircd
[20:12] Simon: the main benefit is you won't get your own 1000 joins 1000 times
[20:12] qaisjp: Do normal users still see 1000 "fake" joins?
[20:12] Simon: yes
[20:13] qaisjp: Just that you save on the connections.. right?
[20:13] Simon: yes
[20:13] Simon: but you must have perfect client handling on the connection to the ircd
[20:14] qaisjp: What does that mean?
[20:20] Simon: you can't make mistakes and forget about some clients
[20:21] Simon: I'd also suggest some kind of persistent bridge process that lets you synchronise clients
[20:21] Simon: so you can restart the discord part and only the clients that are offline would quit
[20:40] qaisjp: Yeah the persistent bridge thing seems vital
[20:40] qaisjp: Essentially "ircd as a service"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment