greenbagels / discpp Goto Github PK
View Code? Open in Web Editor NEWC++ Discord Library
License: GNU General Public License v3.0
C++ Discord Library
License: GNU General Public License v3.0
A lot of functionality isn't yet included into the library, such as creating messages, diagnostic info, etc. We should aim to provide these features before we hit our first target version release.
This is related to #3 in that we need to not have the connection
class manage all the parsing itself.
For now, I think we can settle on having the connection
class parse all input to nlohmann::json
objects, selectively respond to initial connection / keepalive data, and pass everything else along to the next library layer.
I fear we haven't properly thought about the scope of our project when we first made it, and coupled too much functionality into the discpp::connection
class.
A lot of library functionality (like get_gateway
) doesn't need to explicitly reference an active WebSocket connection, so let's cut out the extra stuff.
The connection::main_loop()
function has a logic error; currently, it does this:
The third step was a stop-gap solution to fix the blocking issue. To reproduce the issue, simply do the following:
heartbeat_interval
msObviously, the way the loop is set up needs to change. Realistically, we can't be waiting on read()
ever, or else any lack of incoming data will deadlock any recurring writes. Doesn't this mean async is our only other option?
Currently we just include the example copyright notice straight from GNU's website in each source file. Perhaps this is not a great system, as we can just switch to doxygen-style \copyright
notices, which would also give us doxygen-based documentation?
We should aim to supply exception safety guarantees for each of our functions we offer in the class. Currently, we've supplied it for none of them, but we should definitely implement it for all of them (even if only a basic guarantee)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.