Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как создать ссылку в инлайн кнопке на с++?

Андрей Мирошенко Ученик (65), на голосовании 4 месяца назад
Open link надо сделать ссылкой на гугл, как сделать?
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (207093) 5 месяцев назад
Для создания инлайн-кнопки с ссылкой на Google, используя C++, можно воспользоваться библиотекой для работы с API Telegram, такой как `tgbot-cpp`. Ниже приведён пример кода, который демонстрирует создание такой кнопки:

1. **Установите необходимую библиотеку**: Если она ещё не установлена, можно найти инструкции по установке [здесь](https://github.com/reo7sp/tgbot-cpp).

2. **Создайте бота с инлайн-кнопками**: Пример кода для создания инлайн-кнопки, которая открывает ссылку на Google.

```cpp
#include <tgbot/tgbot.h>
#include <iostream>

int main() {
TgBot::Bot bot("ВАШ_ТОКЕН_БОТА");

bot.getEvents().onCommand("start", [&bot](TgBot::Message::Ptr message) {
TgBot::InlineKeyboardMarkup::Ptr keyboard(new TgBot::InlineKeyboardMarkup);
std::vector<TgBot::InlineKeyboardButton::Ptr> row;

TgBot::InlineKeyboardButton::Ptr usdButton(new TgBot::InlineKeyboardButton);
usdButton->text = "USD";
usdButton->callbackData = "USD";
row.push_back(usdButton);

TgBot::InlineKeyboardButton::Ptr eurButton(new TgBot::InlineKeyboardButton);
eurButton->text = "EUR";
eurButton->callbackData = "EUR";
row.push_back(eurButton);

TgBot::InlineKeyboardButton::Ptr linkButton(new TgBot::InlineKeyboardButton);
linkButton->text = "Open Link";
linkButton->url = "https://www.google.com";
row.push_back(linkButton);

keyboard->inlineKeyboard.push_back(row);

bot.getApi().sendMessage(message->chat->id, "Какую валюту?", false, 0, keyboard);
});

bot.getEvents().onAnyMessage([&bot](TgBot::Message::Ptr message) {
if (StringTools::startsWith(message->text, "/start")) {
return;
}
bot.getApi().sendMessage(message->chat->id, "Вы сказали: " + message->text);
});

try {
std::cout << "Имя бота: " << bot.getApi().getMe()->username.c_str() << std::endl;
TgBot::TgLongPoll longPoll(bot);
while (true) {
std::cout << "Начался лонгпуллинг" << std::endl;
longPoll.start();
}
} catch (TgBot::TgException& e) {
std::cerr << "Ошибка: " << e.what() << std::endl;
}

return 0;
}
```

Замените `ВАШ_ТОКЕН_БОТА` на ваш настоящий токен бота. Этот пример кода настраивает бота, который отвечает на команду `/start` сообщением, содержащим три инлайн-кнопки: "USD", "EUR" и "Open Link" (которая ведёт на Google).

Вы можете скомпилировать и запустить эту программу на C++, чтобы создать бота с требуемыми инлайн-кнопками.
Андрей МирошенкоУченик (65) 5 месяцев назад
спасибо большое
Похожие вопросы