Inline keyboard button url is invalid ошибка

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Write bot for telegram on python and use PyTelegramBot lib.

Code:

markup_city = telebot.types.InlineKeyboardMarkup(row_width=2)
b1  = 
telebot.types.InlineKeyboardButton(text='Москва',callback_data='Москва')
markup_city.add(b1)

bot.send_message(message.chat.id,texts.strat_message,reply_markup=markup_city)

And Error:

A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: BUTTON_URL_INVALID"}']

its very strange error… I don’t understand what is.

How do you think, what it can be?

I ran into a problem trying to use a telegram inline keyboard when using html tag in url.

$var = urlencode("https://api.telegram.org/bot/sendMessage?chat_id=@channel&parse_mode=html&text=xF0x9Fx8Cx8D+<b>Hello</b>");
$text = "Hi";
   $keyboard = [
      'inline_keyboard'=>[
       [
           ['text'=>'Click','url'=>$var]
       ]
   ]
];
$keyboard = json_encode($keyboard);
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=MY_ID&parse_mode=html&reply_markup=".$keyboard."&text=".$text;

I get BUTTON_URL_INVALID error.
But everything is ok after deleting <b>Hello</b>

asked Sep 3, 2017 at 17:02

Ali's user avatar

Not exactly sure what’s the reason behind this but it seems html can not be used as parse_mode in this situation.

Try using Markdown instead and change <b>Hello</b> to *Hello*.

So your first line will change to:

$var = urlencode("https://api.telegram.org/bot/sendMessage?chat_id=@channel&parse_mode=Markdown&text=xF0x9Fx8Cx8D+*Hello*");

answered Sep 3, 2017 at 18:17

newsha's user avatar

newshanewsha

1,2381 gold badge10 silver badges13 bronze badges

1

You need to send URL encoded JSON, so just use "....&reply_markup=" . json_encode($keyboard) . "&text=..."

You can prove this yourself by var_dump($keyboard) and var_dump("to string: $keyboard").

answered Sep 3, 2017 at 21:20

Sean Wei's user avatar

Sean WeiSean Wei

7,3451 gold badge18 silver badges39 bronze badges

1

Доброго времени суток.
Подскажите пожалуйста, возможно ли добавить ссылку на номер телефона для InlineKeyboardButton?
Делаю так:

phone_number = InlineKeyboardButton(text="Позвонить", url="tel:+1234567890")

При этом получаю ошибку:

aiogram.utils.exceptions.BadRequest: Inline keyboard button url is invalid

Или для данного типа кнопок недоступны ссылки на телефон?
В случае если ссылка будет на сайт, к примеру url=https://google.com — то всё работает.


  • Вопрос задан

    более года назад

  • 402 просмотра

Пригласить эксперта

Вообще tel:77777777777 или tel://77777777777, но телеграм блокирует такие ссылки. Если попытаться отправить в другом приложении (например СМС, то все ок).

При максимальной необходимости можно с использованием сайта дать пользователю ссылку на сайт, и уже на нем будет кнопка «Позвонить». По идеи не должно быть так, чтобы из браузера не позвонилось.


  • Показать ещё
    Загружается…

09 июн. 2023, в 01:21

10000 руб./за проект

09 июн. 2023, в 01:06

50000 руб./за проект

09 июн. 2023, в 00:36

1000 руб./за проект

Минуточку внимания

Inline keyboard button url ‘акаку’ is invalid: wrong http url«`
я про это.Не думаю,что можно aiogram.utils.exceptions.BadRequest подставить в except

russian

programming

aiogram


3

ответов

SMS (МФА: [ɛsɛmˈɛs], сокр. от англ. Short Message Service — «служба коротких сообщений»)

Но ведь она охватывает много ошибок,а мне именно с юрл-кнопкой надо.Есть ли отдельная ошибка?


Nex1n斯 |愛🫨 | [CHECK BIO] 23:19

Но ведь она охватывает много ошибок,а мне именно с…

Нет. Если тебе выскакивает именно эта ошибка, то и нужна именно она. Ищи в ней ключевое слово

Похожие вопросы

Понравилась статья? Поделить с друзьями:
  • Injustice 2 mobile ошибка сети
  • Injustice 2 already running ошибка как исправить
  • Indesit wisn 82 csi коды ошибок
  • Indesit wisn 100 ошибка f16
  • Indesit wisl62 ошибки мигает замок