Как отправить информацию не отдельными сообщениями, а одним сообщением в Телеграм боте?
Как отправить информацию не отдельными сообщениями, а одним сообщением в Телеграм боте?
У меня есть обработчик словаря, который отправляет названия наиближайших мест из словаря смотря на геопозицию пользователя.
def uz_shop_view(message: telebot.types.Message) -> None:
if message.location is not None:
lon: float = message.location.longitude
lat: float = message.location.latitude
distance: List[...] = []
for loc in STORES:
result: float = geodesic(
(loc['lons'], loc['lats']), (lon, lat)).meters
distance.append(result)
counter = len(distance)
while counter > 0:
i = distance.index(min(distance))
print(i)
distance[i] = 10 ** 100
counter -= 1
bot.send_message(message.chat.id, f' ' + '<b>'+STORES[i]['title']+'</b>' + '\n\n' + '<i>'+STORES[i]['address']+'</i>', parse_mode='html')
Но каждое место отправляется отдельными сообщениями. Как сделать так чтобы они пришли одним сообщением?
библиотеки: telebot, geopy
Ответы (1 шт):
Автор решения: LOTVW 07
→ Ссылка
Всё мне помогло вот это:
def uz_shop_view(message: telebot.types.Message) -> None:
if message.location is not None:
text = ''
lon: float = message.location.longitude
lat: float = message.location.latitude
distance: List[...] = []
for loc in STORES:
result: float = geodesic(
(loc['lons'], loc['lats']), (lon, lat)).meters
distance.append(result)
counter = len(distance)
while counter > 0:
i = distance.index(min(distance))
distance[i] = 10 ** 100
counter -= 1
text += STORES[i]['title']
text += '\n' + STORES[i]['address'] + '\n\n'
print(text)
bot.send_message(message.chat.id, text)