Igor Gafarchik, в любом случае, в Bot API это невозможно (во всяком случае, в актуальной версии), так что придётся или смириться с показом исходного автора, или напрячься с формированием нового сообщения. Файлы при этом перекачивать не нужно, можно получить их id и передавать его вместо загрузки новых файлов с нуля.
Добавлю ещё, что можно вступить в конфликт с уже имеющимися патентами, поэтому перед патентованием лучше изучить поляну, а за это опытные специалисты возьмут дополнительных денег.
Если же запатентовать то, что уже имеет патент или не защищённую патентом реализацию (prior art), то можно нарваться не только на аннулирование патента, но и на иски по возмещению финансового ущерба от тех, кто платил патентные отчисления по этому патенту.
Рекомендую не страдать фигнёй и вложить свои знания и ресурсы в что-то действительно полезное. Например, в очередной проект для очередного заказчика.
linuxstation, скорее всего неправильно было настроено виртуальное окружение.
Вообще, вопрос неправильно задан. Непонятно, что значит "не отправляет". Скорее всего, там какие-то ошибки были - и их обязательно надо было показывать. И наверняка там падало прямо на импорте телебота.
Например, пусть бот положит файл в какой-то каталог, доступный через web-сервер. Или можно сделать так, чтобы бот пересылал все собщения с файлами своему владельцу. В общем, есть варианты и даже больше одного.
А вообще не очень понятна формулировка "чтобы я в его видел". Задача сформулирована недостаточно конкретно.
Weishaupt, да, про снапшоты я не подумал, а ведь btrfs упоминался. Вообще, полезно заодно разобраться, как определять занятое имеющимися снапшотами место, чтобы лучше контролировать дискового пространства.
как то совсем не user friendly получается
В Windows нельзя удалить файл, который кем-то открыт, тут можно, это в какой-то степени более удобно, а в другой - доставляет проблем. Но как правило в Linux никто в здравом уме и не удаляет файлы из-под запущенного приложения. Более простой способ решения - перезагрузка.
Конечно, проблеме забивания диска CoW-данными снапшотов перезагрука ничем не поможет, к сожалению.
HXNDY, это плохая идея и вообще негодная учебная задача. Bot API разрабатывался для совсем другого сценария использования: бот может получить информацию только о тех пользователях, которые к нему обращались или состоят в одной с ним группе, и только при условии получения событий, содержащих информацию об этих пользователях (почти все события при этом - сообщения). Получить информацию по абсолютно случайному пользователю в любой момент бот не может.
Конечно, можно сделать, чтобы бот накапливал информацию по тем пользователям, которые упоминаются в приходящих к нему событиях, чтобы затем её доставать из накопленного кэша. Но особого смысла в этом нет, так как база пользователей бота вряд ли будет огромной.
Чтобы делать поиск именно по имени пользователя, потребуется использовать клиентский API телеграма, на котором построены его десктопные и мобильные приложения. Смотреть в сторону библиотеки telethon. Но лучше быть осторожным, так как в отличие от бота, клиентский API авторизуется аккаунтом реального пользователя, и неосторожные действия (в том числе слишком частый поиск информации по пользователям) могут привести к бану реального живого аккаунта.
Я бы предложил для учебных целей сделать что-нибудь другое. Ну, например, из популярного у новичков можно сделать бота, который бы возвращал погоду по названию города. В любом случае, полезно научиться лучше понимать сценарий работы ботов и все связанные с этим ограничения API.
Weishaupt, добавлять фильтры в конец команды. Например, у меня показало овердофига /memfd:mozilla-ipc и /dev/shm/.com.google.Chrome и ещё gvfs-metadata, которые явно не по делу, вот я их отфильтровываю и вывод становится сильно меньше:
К этому надо творчески подходить, кто ж знает где и что там в конкретной системе запущено.
Довольно типичным является, когда для решения проблемы с местом удаляют лог-файл программы, а саму программу не перезапускают. В итоге программа продолжает удерживать файл открытым, и он фактически не удаляется, хоть и перестаёт быть видимым на файловой системе. Некоторый софт умеет по сигналу SIGHUP или SIGUSR1 переоткрывать лог-файл без перезапуска, и инструменты типа logrotate позволяют посылать такой сигнал при регулярной ротации логов.
При отправке файла надо передавать или file_id ранее загруженного файла, или file-like object (объект с интерфейсом файлового дескриптора, аналог того, что возвращает функция open). В приведённом коде этого не делается, содержимое скачанной картинки передаётся в Telegram, тот пытается интерпретировать эту "строку" как file_id и ожидаемо ничего не находит.
Чтобы превратить объект типа bytes (который имеет скачанный контент картинки) в file-like object, можно воспользоваться классом BytesIO.
При подключении adb андроид также может спросить разрешение, если не было сохранено заранее разрешение конкретному устройству. Так что всегда есть нюансы...
Я бы предложил реально рассмотреть вариант за эти 3 миллиона проложить оптику или хотя бы медь до деревни. Но если есть желание перепродавать интернет, то легально это можно сделать, только самому став провайдером. А это довольно сложно и дорого.
Лучше бы тогда попробовать найти провайдера, с которым договориться о совместном инвестировании: ты им денег за прокладку магистрали до деревни (возможно, только частичную стоимость этой магистрали), они же получают готовых клиентов в этой деревне.
Но вообще если в деревне ловит мобильная сеть, то можно обойтись мобильным интернетом и направленной антенной на БС сотового оператора. Комплект для такой задачи может стоить менее 10 тыс. рублей (зависит от требований и характеристик), и даже если оценить в 20 тыс. вместе с монтажом, получится, что на 3 миллиона можно подключить 150 домов.