All Projects → Smertig → banana

Smertig / banana

Licence: MIT license
🍌 Modern C++ Telegram Bot API library

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to banana

snap
Snap Programming Language
Stars: ✭ 20 (-33.33%)
Mutual labels:  coroutines, async-await
act
ASIO Cooperative Task for await-based coroutine
Stars: ✭ 16 (-46.67%)
Mutual labels:  coroutines, async-await
programming-with-cpp20
Companion source code for "Programming with C++20 - Concepts, Coroutines, Ranges, and more"
Stars: ✭ 142 (+373.33%)
Mutual labels:  coroutines, cpp20
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (+1033.33%)
Mutual labels:  coroutines, async-await
Cppcoro
A library of C++ coroutine abstractions for the coroutines TS
Stars: ✭ 2,118 (+6960%)
Mutual labels:  coroutines, async-await
zab
C++20 liburing backed coroutine executor and event loop framework.
Stars: ✭ 54 (+80%)
Mutual labels:  coroutines, cpp20
agrpc
Async GRPC with C++20 coroutine support
Stars: ✭ 53 (+76.67%)
Mutual labels:  coroutines, cpp20
Swiftcoroutine
Swift coroutines for iOS, macOS and Linux.
Stars: ✭ 690 (+2200%)
Mutual labels:  coroutines, async-await
Tascalate Async Await
Async / Await asynchronous programming model for Java similar to the functionality available in C# 5. The implementation is based on continuations for Java (see my other projects).
Stars: ✭ 60 (+100%)
Mutual labels:  coroutines, async-await
Unityfx.async
Asynchronous operations (promises) for Unity3d.
Stars: ✭ 143 (+376.67%)
Mutual labels:  coroutines, async-await
qcoro
C++ Coroutines for Qt
Stars: ✭ 150 (+400%)
Mutual labels:  coroutines, cpp20
DemoApp
An Android template project for fast development and test.
Stars: ✭ 33 (+10%)
Mutual labels:  coroutines
ComposeNotes
Notes app with full jetpack compose architecture (UI + navigation). Uses MVVM, Room, Kotlin Flows & LiveData
Stars: ✭ 32 (+6.67%)
Mutual labels:  coroutines
telega
Telegram Bot API implementation
Stars: ✭ 21 (-30%)
Mutual labels:  telegram-bot-api
FirebaseFlowExample
A sample android application which demonstrates use of Kotlin Coroutines Flow with Firebase Cloud Firestore.
Stars: ✭ 50 (+66.67%)
Mutual labels:  coroutines
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes 🗒️ create , edit and ❌ delete notes
Stars: ✭ 40 (+33.33%)
Mutual labels:  coroutines
tgbot
A full-featured Telegram Bot API client
Stars: ✭ 26 (-13.33%)
Mutual labels:  telegram-bot-api
async
Asynchronous programming for R -- async/await and generators/yield
Stars: ✭ 37 (+23.33%)
Mutual labels:  async-await
tdlight-java
Complete Bot and Userbot Telegram library based on TDLib
Stars: ✭ 128 (+326.67%)
Mutual labels:  telegram-bot-api
Shuttle
Shuttle provides a modern, guarded way to pass large Serializable objects with Intents or saving them in Bundle objects to avoid app crashes from TransactionTooLargeExceptions.
Stars: ✭ 39 (+30%)
Mutual labels:  coroutines

License: MIT GitHub Actions GitHub Actions

🍌 banana - thin wrapper over Telegram Bot API written in C++17.

Key Features

  • Simple API
  • Single interface for both blocking, non-blocking and even coroutine-based operations
  • Generic in terms of networking backend (bundled support for WinAPI, cpr and boost::beast)
  • Extendable (see custom-agent example)
  • Automatically generated from Telegram Bot API 5.3 (thanks ark0f/tg-bot-api)
  • Cross-platform (tested on Windows, Linux, macOS)

Example

#include <banana/api.hpp>
#include <banana/agent/default.hpp>

int main(int argc, char** argv) {
    banana::agent::default_blocking agent("<TG_BOT_TOKEN>")
    banana::api::send_message(agent, { /* .chat_id = */ "@smertig", /* .text = */ "Hello, world!" });
}

Documentation

Latest Release

Master

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].