qTbot/README.md

71 lines
2.0 KiB
Markdown
Raw Normal View History

2023-09-28 17:42:12 +02:00
# qTbot
This is Qt library for working with chat bots.
2023-08-30 16:28:44 +00:00
2023-09-28 17:42:12 +02:00
At this time This library supports next platforms:
* Telegram (50%) - implemented only processing and sending messages and download files.
2023-08-30 16:28:44 +00:00
2023-09-28 17:42:12 +02:00
## Build and Include
* cd yourRepo
* git submodule add https://github.com/QuasarApp/easyssl.git # add the repository of Heart into your repo like submodule
* git submodule update --init --recursive
* Include in your CMakeLists.txt file the main CMakeLists.txt file of Heart library
2023-08-30 16:28:44 +00:00
2023-09-28 17:42:12 +02:00
```cmake
add_subdirectory(easyssl)
```
* link the Heart library to your target
```cmake
target_link_libraries(yourLib PUBLIC easyssl)
```
* rebuild yuor project
## Using
2023-10-01 12:50:23 +02:00
```cpp
2023-09-28 17:42:12 +02:00
#include <qTbot/telegramrestbot.h>
#include <qTbot/messages/telegrammsg.h>
#include <qTbot/messages/telegramupdate.h>
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
qTbot::TelegramRestBot bot;
QObject::connect(&bot, &qTbot::TelegramRestBot::sigReceiveUpdate, [&bot, &filesStack](auto){
while(auto&& update = bot.takeNextUnreadUpdate()) {
if (auto&& tupdate = update.dynamicCast<qTbot::TelegramUpdate>()) {
if (tupdate->contains(tupdate->MessageUpdate)) {
if (auto&& tmsg = tupdate->message()) {
if (tmsg->contains(tmsg->Document)) {
bot.getFile(tmsg->documents()->fileId(), qTbot::iFile::Local);
}
if (tmsg->contains(tmsg->Image)) {
bot.getFile(tmsg->image()->fileId(), qTbot::iFile::Local);
}
if (tmsg->contains(tmsg->Audio)) {
bot.getFile(tmsg->audio()->fileId(), qTbot::iFile::Local);
}
bot.sendSpecificMessage(tmsg->chatId(), "I see it - я вижу это", tmsg->messageId());
}
}
}
}
});
bot.login("6349356184:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
return app.exec();
}
```