Задать вопрос
  • Как сделать функцию с call и message в pytelebot?

    shurshur
    @shurshur
    Использовать register_next_step_handler, как в официальном примере https://github.com/eternnoir/pyTelegramBotAPI/blob...
    Написано
  • Как отправлять картинку с графиком из Grafana в Telegram ???

    shurshur
    @shurshur
    HightWolt, давно смотрел последний раз как там в графане алерты устроены, не помню, можно ли там вызывать скрипт или надо всё же webhook. Но в целом сделать маленький наколеночный сервис, который пошлёт сообщение, это дело вполне себе обычное и не нужно слишком сильно его бояться.
    Написано
  • Как отправлять картинку с графиком из Grafana в Telegram ???

    shurshur
    @shurshur
    HightWolt, эту картинку по ссылке надо скачать и потом отправить её в Телеграм. В принципе, в Телеграм можно отправлять по ссылке, но эта ссылка должна быть открыта в интернет, а тут она на внутреннем хосте, и кажется не очень хорошей идея свою графану светить наружу.
    Написано
  • Как отправлять картинку с графиком из Grafana в Telegram ???

    shurshur
    @shurshur
    Картинка в виде файла отправляющему скрипту есть? Вот и надо отправить её методом sendPhoto
    Написано
  • Как убрать в рассылке от плагина Contact Form 7 уведомление о спаме?

    shurshur
    @shurshur
    Refguser, нет, я вполне по делу.

    Например, Thunderbird в конфигурации по умолчанию вообще не подгружает изображений по внешним ссылкам, пока пользователь не нажмёт кнопку, разрешающую это сделать. Чтобы получить нормальное письмо, не требующее действий от получателя, надо картинки загнать в аттачи с Content-Disposition: inline и использовать внутренние ссылки.

    Естественно, какие-то почтовые клиенты могут делать подобное лишь при некоторых условиях, например, при наличии заголовков от спамфильтра (типа X-Spam-Status).
    Написано
  • Как сменить маршрут до игрового сервера?

    shurshur
    @shurshur
    Это даже вне юрисдикции оператора чаще всего. Решают магистралы.
    Написано
  • Как убрать в рассылке от плагина Contact Form 7 уведомление о спаме?

    shurshur
    @shurshur
    Refguser, ссылки вида cid:content_id_файла_в_аттаче.

    Вот кусочек моего старого кода, который отправляет письма.

    def send_message(_from,to,subject,text,html=None,attachments=None):
      if isinstance(to, str):
        to = to.split(",")
      att = []
      msg = EmailMultiAlternatives(subject, text, _from, [], bcc=to)
      if html:
        msg.mixed_subtype = 'related'
        msg.attach_alternative(html, "text/html")
      if attachments:
        mime = mimetypes.MimeTypes()
        for a in attachments:
          with open(a,"rb") as f:
            content = f.read()
            content_type = mime.guess_type(a)[0]
            #print ("Attach %s as %s" % (a, content_type))
            if content_type:
              c1, c2 = content_type.split('/')
            else:
              c1 = "application"
              c2 = "octet-stream"
            part = MIMEBase(c1, c2)
            fn = os.path.basename(a)
            disposition = "attachment"
            if html and re.search('cid:'+fn, html):
              disposition = "inline"
            part.add_header("Content-Disposition", disposition, filename=fn)
            part.add_header("Content-ID", '<'+fn+'>')
            part.set_payload(content)
            encoders.encode_base64(part)
            msg.attach(part)
      msg.send()
    Написано
  • Способы хранения медиа в telethon?

    shurshur
    @shurshur
    nedland, я бы попробовал потом созданное сообщение ещё раз запросить (в отличие от Bot API, тут это можно) и проверить, что в нём.

    (Насчёт быстрого ответа - удачно зашёл на сайт)
    Написано
  • Способы хранения медиа в telethon?

    shurshur
    @shurshur
    nedland, скорее всего проблема в том, что надо использовать media_id, а не прямые ссылки на файлы. Вот прямые ссылки регулярно протухают, а media_id не должен.

    Но я файлы только в Bot API посылал.
    Написано
  • Как убрать в рассылке от плагина Contact Form 7 уведомление о спаме?

    shurshur
    @shurshur
    Для начала проверить как картинки добавлены в письмо. Если по внешним ссылкам - многие почтовые клиенты нельзя уговорить их открывать вообще никак. Потому что это позволяет контролировать открытие письма и выдаёт IP пользователя серверу. Что очень нехорошо с точки зрения безопасности.

    Вместо это картинки надо делать аттачами к письму. Тогда они будут показываться.
    Написано
  • Как правильно использовать S3 хранилища, и на сколько моя идея верна?

    shurshur
    @shurshur
    Не надо верить людям, которые рассказывают сказки про "это не путь". В случае minio - это именно путь! Надо сразу иметь в голове тот механизм, который minio на самом деле использует для хранения данных. А minio хранит каждый бакет как каталог, в котором путь отражается в иерархии каталогов на файловой системе и конечный файл представляет из себя ещё один каталог, внутри которого два файла: json с метаданными и шифрованный блоб с содержимым.

    Если в одном каталоге (в одном уровне иерархии) у minio будут миллионы записей, а сами данные хранятся на HDD (распространённая ситуация для хранения), то регулярно будут начинаться дикие тормоза на том, что операционная система будет вычитывать этот каталог с диска в память. И лучше не решать это установкой SSD, лучше решать это правильно, не создавая такую ситуацию с самого начала. Тем более что это совсем несложно. Достаточно раскладывать файлы по каталогам на основе даты, или диапазонов id, или хеша от имени (например, берём md5 и первые 2-3 символа - хеш), или по каким-то ещё логическим признакам в бизнес-логике.

    (Это не какая-то глубоко теоретическая ситуация, мы реально столкнулись с проблемами из-за такой вот невнимательности, которые ещё и повлияли на другие приложения в том же кластере)

    Что касается подхода к разворачиванию, нужно исходить из числа файлов, объёма файлов, числа запросов к ним, из необходимости геодоступности для отдельных пользователей, итд итп. Никаких универсальных ответов тут нет, без подробностей о предполагаемом профиле использования советовать нечего. В большинстве случаев вообще ничего особенно не нужно, может быть вполне достаточно одного инстанса.

    С точки зрения minio два каталога в одном бакете и два бакета ничем не отличаются.

    Пути к файлам в базе - да, лучше хранить именно так. Практика показывает, что в процессе жизненного цикла можно неоднократно изменить подход к организации хранения, и это будет наилучший способ обеспечить доступ к старым файлам без специальных усилий по их перекладыванию по новой. А новые файлы будут получать новый вид путей.

    Временные ссылки - да, так их и используют часто. Сам minio их тоже не хранит, вся информация представлена в самой ссылке (время протухания и криптографическая подпись всего адреса). Поэтому можно хоть тысячу ссылок на один файл сделать - это никак не повредит производительности ни minio, ни вашего приложения.

    Если делать проксирующий сервис (как тут в ответах посоветовали) - то да, так тоже делают - но рекомендую подойти к созданию такого аккуратно, тяп-ляп точно не надо. Иначе можно получить ситуацию, когда перед суперэффективным распределённым хранилищем наскоро написанный скрипт на php, который помрёт от сотни запросов или будет падать от любого чиха. Там может быть важно правильно обрабатывать partial content (поддерживать докачку) и всё такое. Между прочим, эффективность промышленных прокси-серверов (nginx, haproxy, envoy итд) по сравнению с наколенными поделками - это сильный аргумент в пользу того, чтобы свой проксирующий сервис не делать вообще. С другой стороны, откровенно показывать наружу, что фактически используется minio - это создавать риски целенаправленной атаки именно на minio. Ну, это вполне обычные риски, конечно, но их надо понимать.
    Написано
  • Установка прав доступа на все файлы?

    shurshur
    @shurshur
    Valdemar Smörman, комментарии тут оставляют люди с большим опытом, им детскую инструкцию про sudo кидать не надо.

    Опытные люди говорят умные и правильные вещи, надо в них вникнуть и самому стать умнее и опытнее.

    Кратко: все эти телодвижения из "ответа" не помогут, потому что проблема у автора вопрос вообще никогда не была связана с sudo.
    Написано
  • Один из сайтов на домене не доступен, не могу понять почему?

    shurshur
    @shurshur
    ArcheRAWG,
    я думаю в таком случае хотя бы письмо прислали, как владельцу домена


    Нет, они никому ничего не присылают и вообще блочат втихаря, иногда даже ненадолго. Это чистое беззаконие, но увы, с этим ничего сделать нельзя. По закону они должны это делать только по решению суда, по факту же давно уже блокируют по желанию левой пятки любого чиновника.
    Написано
  • Почему при наличии системной переменной Debian 12.8 в "/usr/sbin/nginx" - при вводе команды "# nginx -v" ошибка "команда не найдена"?

    shurshur
    @shurshur
    Ivan Ustûžanin, либо sudo su, либо sudo -s. Но в целом можно сделать sudo su - (да, минус как аргумент) и это будет эквивалентом sudo -i.
    Написано
  • Онлайн трекинг авто по GPS + (WiFi / Интернет)?

    shurshur
    @shurshur
    Как вариант, можно использоать любое андроидное устростство и на нём запустить приложение, которое будет логгировать позицию. Можно даже на бортовой системе автомобиля попробовать (если там есть андроид в развлекательной системе ака "магнитола").
    Написано
  • Как правильно использовать гит, если нужны данные из другой ветки?

    shurshur
    @shurshur
    Можно было с самого начала делать ветку от branchOne. Можно попробовать сделать cherrypick нужных изменений (если всё аккуратно делать, получится как будто ветка от branchOne).

    Но лучше всего, конечно, не писать новый код от неготового предыдущего, не создавать себе проблем на пустом месте. Потому что branchTwo может по итогам тестирования ещё раз меняться, и получишь дурацкую голвную боль по слиянию со своим кодом. Зачем это нужно?
    Написано
  • Что будет если сделать 2 одинаковых домена в разных зонах?

    shurshur
    @shurshur
    Кеняка Кенякович, есть домены 2 уровня, владельцы которых продают в них поддомены. Например, можно купить домен в зоне msk.ru.

    Если тебе принадлежит домен some-example.ru, то ты можешь в нём поддомены прописывать бесплатно и самостоятельно.

    В принципе, можно у себя на DNS-сервере любой домен прописать - даже habr.com. Проблема в том, что никто в интернете не придёт на твой сервер с запросом имени habr.com. Потому что вместо этого придут на эти сервера:

    habr.com.		36567	IN	NS	ns2.habradns.net.
    habr.com.		36567	IN	NS	ns3.habradns.net.
    habr.com.		36567	IN	NS	ns1.habradns.net.
    Написано
  • Чем заменить Acrobat Reader?

    shurshur
    @shurshur
    Вася Пупкин, тут выше кто-то писал что 64-битный кое-как вывозит, 32-битный совсем помирает. Возможно, у него pdf были ещё более страшные...
    Написано