• Есть ли кроссбраузерный вариант копирования текст в буфер обмена?

    Рекомендую https://clipboardjs.com/
    С этой библиотекой можно не париться насчет https и Internet Exlorer'а
    Ответ написан
    Комментировать
  • Как прикрутить чат телеграм в модальное окно или просто на сайт?

    @mr_good_cat Автор вопроса
    Оставлю тут ещё 2 метода. PHP и javascript. Может кому пригодятся.
    https://habr.com/ru/post/302056/
    https://www.intergram.xyz/
    Ответ написан
    Комментировать
  • Как сделать такой фон у блока?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Отправка сообщений Telegram ботом без участия человека. Как?

    @nozzy
    Symfony, Laravel, SQL
    Вебхук здесь не нужен. Создаешь бота в телеге, вбиваешь имя бота в поиске, находишь его, пишешь ему любое сообщение, иначе бот не может первым слать сообщение юзерам. Из своего скрипта дергаешь адрес:
    https://api.telegram.org/bot<Токен_Бота>/sendMessage?chat_id=<Твой_ID>&text="Пришел новый товар"
    И как бы всё.
    Ответ написан
    3 комментария
  • Как работать с websocket в php без библиотек?

    @xfg
    Прочитать соответствующий RFC https://tools.ietf.org/html/rfc6455 чтобы понять, как происходит рукопожатие и какие байты в переданном сообщении за что отвечают. После этого будет понятно как написать реализацию. Я досконально уже не помню, но фактически от клиента приходит обычный http запрос с определенными заголовками, сервер разбирает этот запрос и если всё ок, то сохраняет открытое соединение в массив, если нет, то отправляет соответствующий ответ и закрывает соединение. Дальше по открытому соединению начинает сыпаться поток байтов от клиента их нужно разбирать, чтобы понять длину сообщения, сами данные переданные в фрейме, закончился фрейм или еще нет и тому подобное. Обратно также кодировать данные в поток байтов и отправлять по открытому соединению. Каждый байт в переданном фрейме несет определенный смысл. Обо всем этом подробно написано в RFC, но на английском. Вообще это хорошо примерно понимать как работает, но глупо писать такую низкоуровневую реализацию, когда есть готовые. Такие вещи развивают и поддерживают годами. Вы же не пишите HTTP серверы, а берете готовые вроде nginx и тому подобное.

    В каком месте можно полученные данные подготовить к записи в бд.

    Как сделать, что бы на стороне клиента, один websocket отвечал за сообщения, другой за статьи. (Или за эти два действия отвечает один websocket, тогда как мне на сервере это различать).

    Вебсокет это низкоуровневая штука, для передачи потока байтов от клиента на сервер, в отличии например от HTTP, где есть заголовки и тело сообщения. Поверх вебсокета нужно делать еще один протокол или самописный или выбрать один из готовых. Это проще говоря, то как выглядят ваши фреймы (сообщения), которые вы отправляете с клиента на сервер и назад. Например клиент может отправлять такой фрейм:
    ["id", "controller/action", {param1: value1, param2: value2}]

    в ответ получать
    ["id", "OK"]
    если запрос был обработан успешно или
    ["id", "ERR", {error: "action not found"}]
    если произошла ошибка. По переданному id в массиве, можно понимать, к какому запросу относится ответ.
    Для уведомлений (событий) сервер может отправлять клиентам что-то такое
    ["user_added", {user: {...}}]
    и т.д. Этот протокол необходимо придумать самому или выбрать из готовых (популярных пока нет) и написать его реализацию (клиентскую и серверную часть) или опять же взять уже готовую.

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

    Но это уже всё должно быть, просто возьми real-time фреймворк. Там за тебя написали и websocket сервер и протокол поверх него и экшены уже есть. Всё низкоуровневое уже готово. Бери и пиши приложение. В nodejs самый популярный это например https://github.com/socketio/socket.io, а в php я не знаю, но уверен, что тоже есть что-то популярное.

    Своё написать не получится, без опыта и без попыток сделать приложение на чем-то готовом. Нужно как минимум прочитать RFC и посмотреть реализации других разработчиков. Для этого нужно быть кем-то больше, чем "программистом сайтов".
    Ответ написан
    1 комментарий
  • Возможно ли в href добавить ссылку на группу в Telegram?

    Для перехода к диалогу с пользователем:
    <a href="tg://resolve?domain=username">Send Personal Message</a>


    Для перехода в чат (ссылку на приглашение в чат генерируется в настройках группы. Копируем все, что идет после ...joinchat/):
    <a href="tg://join?invite=invite_link">Join Group</a>
    Ответ написан
    1 комментарий
  • Какая идеальная страна для айтишника?

    @boss_lexa
    Международный бизнес использует холдинги из нескольких стран для минимизации налогов.

    Очень много компаний используют Нидерланды, погуглите "голландский сендвич"
    inosmi.ru/social/20160408/236066976.html
    https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D...

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

    Схема Uber
    fortune.com/2015/10/22/uber-tax-shell
    Ответ написан
    Комментировать
  • Как запретить выключение компьютера кнопкой на системнике?

    amc
    @amc
    Дорогой мой, в логе Система всегда пишется если предыдущее выключение было не штатное
    Ответ написан
    Комментировать