• Как сделать ссылку на Телеграм Бота с командой?

    Сразу оговорюсь: я не помню, работает ли это, если диалог с ботом уже начат.

    https://tlgrm.ru/docs/bots#deep-linking

    Боты имеют механизм внешнего связывания, которые позволяет передать дополнительные параметры при запуске. Например, для передачи авторизационного токена пользователя, чтобы соединить его аккаунт с каким-либо внешним сервисом.

    У каждого робота есть ссылка, при помощи которой можно начать с ним диалог — https://t.me/<имя бота>. К этой ссылке можно добавить параметры *start или startgroupсо значением длиной до 64 символов. Пример:

    https://t.me/triviabot?startgroup=test

    Допустимо использование символов A-Z, a-z, 0-9, _ и -. Мы рекомендуем использовать base64url для кодирования параметров.

    Переход по ссылке с параметром start начнет чат с ботом, при этом в поле ввода текста будет отображаться кнопка СТАРТ. При переходе по ссылке с параметром startgroup пользователю будет предложено добавить бота в одну из доступных групп. Как только пользователь подтвердит своё действие (нажмёт на кнопку СТАРТ или выберет группу), бот получит сообщение следующего формата:

    /start PAYLOAD

    В PAYLOAD будет значение параметра start или startgroup, который был передан в ссылке.
    Ответ написан
    Комментировать
  • Как подключаться к старому ssh с Debian 10?

    @graf_Alibert
    Хоть вопрос и старый, но для меня он актуален. Перерыв кучу форумов и статей нашел такое решение:
    без установки старой версии openssh нужно добавить в конфиг следующие строчки:
    #sudo nano /etc/ssh/ssh_config
    Host 172.16.113.12
            PubkeyAcceptedKeyTypes +ssh-dss
            HostKeyAlgorithms=+ssh-dss
            KexAlgorithms diffie-hellman-group1-sha1
            Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    Объясняю:

    1) Небольшая фирма, небольшой проект, никогда не сможет конкурировать за "рабочие руки" с такими гигантами, как mail.ru/yandex/сбертех/альфа-лаборатория и прочие. А значит разрабатывать проект на Java, который еще не приносит деньги - глупейшая ошибка менеджмента. Ибо вы просто не найдете руки, либо они будут стоить очень много. По этой же причине не стоит выбирать для проектов .net (хотя там в общем ситуация в плане рук получше).

    2) Выбирать для проекта, который еще не приносит денег, что-то типа python/ruby - глупо. Ибо найти хороших программистов на этот язык сложно (и они будут стоять больших денег).

    Ну тут стоит понимать, что это реалии рынки СНГ и Европы. Исторически сложилось, что язык для новичков в СНГ и Европе был PHP (поэтому так много проектов на php), в США - это Ruby(Python), а, например, в Австралии - это Python.

    В итоге: небольшие капиталисты в СНГ(Европе) - выбирают php, это дает много работы на PHP, предложение толкает людей учить PHP, что уже в свою очередь толкает создателей PHP его улучшать.

    __

    Нужно понимать, что PHP де-факто дешевый язык для старта бизнеса (конечно, есть условный symfony, где программисты получают на уровне Java-разработчиков, но это уже нюансы). А бизнес всегда стартаует, и всегда на это идет большой спрос.

    Язык будет жить, пока не придумают что-то более подходящее, что будет прямо в разы увеличивать эффективность работы. Но пока этого нет, и даже сложно сказать, что это может быть.

    __

    Количество вакансий уменьшается по простой причине. Готовые облачные решения типа (shopify/wix) + возможность заменить на старте сайт на социальную сеть, дают снижение спроса.
    Ответ написан
    1 комментарий
  • PHP CURL + Yandex Speechkit - как заставить работать?

    @LAV45
    Вот пример рабочего кода. Оправляется обычный GET запрос.
    /**
     * @see https://tech.yandex.ru/speechkit/cloud/doc/guide/concepts/tts-http-request-docpage/
     */
    $apiUrl = 'https://tts.voicetech.yandex.net/generate';
    $options = [
        'key' => '******',
        'speaker' => 'oksana',
        'format' => 'mp3',
        'lang' => 'ru-RU',
        'speed' => 1.2
    ];
    
    $options['text'] = $text;
    
    $url = $apiUrl . '?' . http_build_query($options);
    $data = file_get_contents($url);
    
    file_put_contents('audio.' . $options['format'], $data);
    Ответ написан
    Комментировать