fbpx

Как обработать значения location(latitude,longitude) Python 3 Telegram Bot

397 просмотраtelebot
0
1 Комментарий
<code><span class="lit">@bot</span><span class="pun">.</span><span class="pln">message_handler</span><span class="pun">(</span><span class="pln">commands</span><span class="pun">=[</span><span class="str">"geo"</span><span class="pun">])</span>
<span class="kwd">def</span><span class="pln"> geo</span><span class="pun">(</span><span class="pln">message</span><span class="pun">):</span><span class="pln">
    keyboard </span><span class="pun">=</span><span class="pln"> types</span><span class="pun">.</span><span class="typ">ReplyKeyboardMarkup</span><span class="pun">(</span><span class="pln">row_width</span><span class="pun">=</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> resize_keyboard</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
    button_geo </span><span class="pun">=</span><span class="pln"> types</span><span class="pun">.</span><span class="typ">KeyboardButton</span><span class="pun">(</span><span class="pln">text</span><span class="pun">=</span><span class="str">"Отправить местоположение"</span><span class="pun">,</span><span class="pln"> 
    request_location</span><span class="pun">=</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
    keyboard</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">button_geo</span><span class="pun">)</span></code>

Отправляю боту свою геолокацию,в json формате широта и долгота(latitude,longitude) есть,а если попытаться получить эти данные,то выдает ошибку.

<code> <span class="kwd">print</span><span class="pun">(</span><span class="pln">message</span><span class="pun">.</span><span class="pln">location</span><span class="pun">.</span><span class="pln">latitude</span><span class="pun">)</span>
 <span class="pun">>></span> <span class="typ">AttributeError</span><span class="pun">:</span> <span class="str">'NoneType'</span><span class="pln"> object has no attribute </span><span class="str">'latitude'</span></code>

Если пробовать вывести так,то выдает пустое значение,хотя при просмотре json через /getUpdates значение есть.

<code><span class="kwd">print</span><span class="pun">(</span><span class="pln">message</span><span class="pun">.</span><span class="pln">location</span><span class="pun">)</span>
<span class="pun">>></span><span class="kwd">None</span></code>

Как достать значения location?

<code> <span class="str">"location"</span><span class="pun">:{</span><span class="str">"latitude"</span><span class="pun">:</span><span class="pln">xx</span><span class="pun">.</span><span class="pln">xxxxxx</span><span class="pun">,</span><span class="str">"longitude"</span><span class="pun">:</span><span class="pln">yy</span><span class="pun">.</span><span class="pln">yyyyyy</span><span class="pun">}}}]}</span></code>

дмитрий сомов добавил комментарий

Извините за проблему с кодом.
@bot.message_handler(commands=[«geo»])
def geo(message):
keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True)
button_geo = types.KeyboardButton(text=»Отправить местоположение»,
request_location=True)
keyboard.add(button_geo)

Отправляю боту свою геолокацию,в json формате широта и долгота(latitude,longitude) есть,а если попытаться получить эти данные,то выдает ошибку.

print(message.location.latitude)
>> AttributeError: ‘NoneType’ object has no attribute ‘latitude’

Если пробовать вывести так,то выдает пустое значение,хотя при просмотре json через /getUpdates значение есть.

print(message.location)
>>None

Как достать значения location?

«location»:{«latitude»:xx.xxxxxx,»longitude»:yy.yyyyyy}}}]}

Добавить комментарий

0 Answers

Python Опубликовано 15.06.2019
Напишите свой ответ на данный вопрос.
Scroll Up