One piece of advice: Regardless how you do your bridging, I advice to abandon "the holy grail" of single-account-and-app-for-all-your-chat-networks, at least initially.
What I mean by this is that if you bridge using Matrix while also chat using Matrix, to set up two accounts: one for all your bridged chats (fine to mix networks here) and one for all your actual Matrix usage. Bridge chat state can get messy in some cases and keeping it separate keeps your public account and state db "clean".