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
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
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 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
Но ведь она охватывает много ошибок,а мне именно с…
Нет. Если тебе выскакивает именно эта ошибка, то и нужна именно она. Ищи в ней ключевое слово