I was thinking that download or update maps it could be a problem in Cuba when you use the on-demanding streaming location option as they are loaded from internet in a maintained connection and set an option to download the maps from the internet just once is not a real option in many cases (big file size even for regions).
It would be great if the api bot could support a way where new maps versions or the download of other maps were made from the bot and send it by a message to the user to import it manually.
As download maps from internet was already discussed by some contributors and devs and it was suggested here Mapbox sends too many data to their servers, I wanted also suggest that the way maps are downloaded when you request it could be like when you download them from https://openstreetmap.org using Overpass API or maybe use also the same api from them.
With Overpass API you can select which area you want to download without the dependence of already build data for regions or countries. You could only download your own town or maybe just a part of it.
Overpass API has a problem if you use it directly because XML data has a big size even for a little island like El Hierro (from Canary Islands) and this is why must be converted before receive it (from other server in Internet download case and bot server if you request it to a bot).
There are free software apps and libraries that could do that. I used mkgmap to convert a *.osm 120 MB size file to use it in a Garmin Etrex 10 (over 10 MB storage).
Edited: A compressed .gpx or .osm file could reduce the size a lot since they are just data in plain text.
https://www.openstreetmap.org/#map=8/21.619/-79.832 ~ *.osm 696 MB --> *.osm.gz 69,2 MB and *.gpx.gz 41,4 MB
Edited 2: https://wiki.openstreetmap.org/wiki/Overpass_API and https://fosdem.org/2015/schedule/event/overpass/attachments/slides/651/export/events/attachments/overpass/slides/651/talk.odp explain some good things