Skip to content

This is a library written in C++ that makes interacting with GroupMe through the API level much easier and streamline.

License

Notifications You must be signed in to change notification settings

proatgram/GroupMe-API

Repository files navigation

GroupMe API

GroupMe API is a C++ library that makes life simpler for developers trying to integrade GroupMe into their C++ application. This library provides a simple and effective way to send requests, upload attachments, and more to the GroupMe servers using their public API.

Reasoning behind this project

I was facinated with the Matrix service, and how it was able to bridge many platforms to it so I wanted to make my own bridge. But alas! What would I bridge? What about that application that I barely use aside from band! Then I could uninstall it, and have less apps on my phone. I was also itching for a project, one that was more professional than my others.

I aim to make this library the best project I have ever made before.

Features

Development is still happening, features will be added!

  • Concurrency (via cpprestsdk)
  • Attachment uploading
    • Pictures
    • Images
    • Files
    • Location
    • Emojis
  • Direct Messages
  • Group Chats
  • Subgroups
  • Authentication
  • Bots
  • Push servers
  • Leaderboards
  • Bots
  • Blocking

Documentation

Documentation is generated by Doxygen, and will be later hosted on GitHub pages.

Installation

Prerequisites

Source build

This project uses CMake as a buildsystem generator, so make sure you have that installed.

First clone the repository and navigate to it

git clone https://github.com/proatgram/GroupMe-API
cd GroupMe-API/

Then create a build directory and configure CMake

mkdir build && cd build
cmake ..

* CMake will automatically generate a Make based build system, if you prefer something else set the build system via the command-line argument -G 'GENERATOR'

See Introduction to CMake Buildsystems for more information.

Once CMake generates the buildsystem you can build it using the chosen buildsystem

If you used the Unix Makefiles build system for example

make && make install

Package manager Installation

This is to be determined (as in we haven't gotten that far yet :D)

Acknowledgements

Thanks to @AndersonYe for the implemtation of a Multipart Encoder for the cpprestsdk! I could not get it to work for the life of me.

A huge thanks to the libraries used for this project, cpprestsdk and nlohmann-json!

About

This is a library written in C++ that makes interacting with GroupMe through the API level much easier and streamline.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published