Adding to that Pidgin has a nice plugin called OTR that enables E2EE regardless of the platform/transport being used. OTR exists for Weechat [1] as well.
I am not a fan of offline key exchanges through a centralized privacy-focused server as in, the server stores a key. Moxie knows why too. I wish he would come here so we could have that discussion. Perhaps I am old fashioned but I prefer military procedure of go for authentication in an out-of-band communication and verifying via voice each others key fingerprints or better, physically exchanging keys in person.
[1] - https://github.com/mmb/weechat-otr