ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Расстояние между городами. (https://forum.antichat.xyz/showthread.php?t=1482110)

eforo 08.07.2023 09:49

Добрый день.

Помогите решить проблему, не находит города.

Через другой сервис работает отлично.

12:





Код:

import
requests
from
aiogram
import
Bot
,
Dispatcher
,
types
from
aiogram
.
contrib
.
fsm_storage
.
memory
import
MemoryStorage
# Создаем объект бота
bot
=
Bot
(
token
=
'YOUR_TOKEN_HERE'
)
storage
=
MemoryStorage
(
)
dp
=
Dispatcher
(
bot
,
storage
=
storage
)
# Обработчик команды /distance
@dp.message_handler
(
commands
=
[
'distance'
]
)
async
def
distance_command
(
message
:
types
.
Message
)
:
# Получаем города из аргументов команды
args
=
message
.
get_args
(
)
.
split
(
)
if
len
(
args
)
!=
2
:
await
message
.
reply
(
"Пожалуйста, укажите два города для определения расстояния."
)
return
city1
=
args
[
0
]
city2
=
args
[
1
]
# Формируем URL для запроса к Visicom API
base_url
=
"https://api.visicom.ua/data-api/5.0/core/distancematrix.json"
params
=
{
"origins"
:
city1
,
"destinations"
:
city2
,
"key"
:
"YOUR_API_KEY"
}
response
=
requests
.
get
(
base_url
,
params
=
params
)
data
=
response
.
json
(
)
if
"result"
in
data
:
distance
=
data
[
"result"
]
[
"distance"
]
await
message
.
reply
(
f"Расстояние между{city1}и{city2}:{distance}км"
)
else
:
await
message
.
reply
(
'Не удалось получить расстояние.'
)
# Запускаем бота
if
__name__
==
'__main__'
:
from
aiogram
import
executor
    executor
.
start_polling
(
dp
,
skip_updates
=
True
)



Время: 02:55