You are looking at DatBot, yet another IRC bot for doing things that IRC bots do.
Right now it's at a pretty embryonic stage, but hey, you can always checkout the source and build it (standard cmake pipeline) if you're so inclined.
Will it be better than all those other IRC bots out there? Eh, probably not. ¯\_(ツ)_/¯ But two of its goals are:
- Some Twitch integrations to make some overlays light up and stuff
- Eventually have a mature-enough IRC library that can stand on its own, and build a client and other goodies from it
Aside from that, this is just a spare time project to get my mind off of JavaScript and into C++ for a change.
The central point of DatBot's architecture is reactive programming, and it uses RxCpp as a framework for that. IRC messages and events are passed between components as observable streams of processed data that can be subscribed to.
Networking is handled portably through the Asio library.
Some other components from Boost are used for various purposes; for example, some components from Spirit.Qi are used as helpers for parsing (however, we're not currently using the whole parsing framework it provides).
You'll need
- A C++17 compiler
- Visual C++ 19.11 or better (that's what the project is developed on)
- GCC 7 or better
- clang 4 or better
- CMake 3.8 or better
- Boost 1.69 or better
- RxCpp 4.0 or better
- yaml-cpp 0.6.0 or better
You can use whatever dev environment that supports CMake (or the other way around, whatever semantics you prefer). Popular ones are
Visual Studio, VS Code, CLion, Qt Creator, Eclipse, X-Code... or just good ol' vim amd make, in which case cmake && make
should
get stuff going.
If you're having trouble building, look at our CI script for inspiration, especially the setup scripts.