У меня бот, в которого я скидываю точку на карте и он ищёт по функции GetLocatedRequest пользователей по расстоянию, которое я ввожу в боте:
@dp.message_handler(lambda message: message.from_user.id in user_locations and message.text.isdigit())
async def handle_radius(message: types.Message):
user_id = message.from_user.id
radius = int(message.text)
latitude, longitude = user_locations[user_id]
async with TelegramClient(f'+254772755154.session', API_ID, API_HASH) as client:
await client.connect()
users = await client(GetLocatedRequest(
geo_point=InputGeoPoint(
lat=latitude,
long=longitude,
accuracy_radius=radius
)
))
for user in users.updates[0].peers:
if hasattr(user, 'peer') and hasattr(user.peer, 'user_id'):
async with TelegramClient(f'+254772755154.session', API_ID, API_HASH) as client:
await client.connect()
full_user = await client.get_entity(user.peer.user_id)
await bot.send_message(message.chat.id,
f"User ID: {full_user.id}, First Name: {full_user.first_name}, username @{full_user.username}, phone {full_user.phone}")
если вывести user, то он выдаст:
PeerLocated(peer=PeerUser(user_id=767603481), expires=datetime.datetime(2038, 1, 19, 3, 14, 7, tzinfo=datetime.timezone.utc), distance=500)
я в бота ввел значение растсояние 1000, но он выводит все расстояния от 500м до 2км, а мне надо выводить только пользователей с расстоянием 1000м, помогите это отфильтровать