Задать вопрос
  • Для написания полноценного телеграм бота на c# надо юзать ASP.NET?

    tomnolane
    @tomnolane
    профессиональный разработчик
    бота можно написать хоть на чём угодно, зависит от "хотелок" и возможностей.
    ASP.NET лишь одно из средств (но не самое нужное для этого).
    ASP используют для серьезных web приложений, для каких-то широких целей. Создавать бота только используя ASP не рационально. Для этих целей подойдет и что-нибудь попроще - php, node.js...

    но если предполагается использовать под сервис, где к боту будут обращаться 1кк раз в сутки, то да.. можно и на ASP
    также можно для знакомства с ASP (и c#) (частью функционала) можно попробовать... Опять же зависит от потребностей и возможностей

    п.с. если хостинг в РФ (российский IP) помоем телеграмм не будет работать из-за роскомнадзора... понадобится прокси/VPN/зарубежный VPS
    Ответ написан
    Комментировать
  • Как сделать AJAX запрос на странице через консоль разработчика?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) во-первых, зачем вам "вклиниваться"? Если нужно посмотреть что отправляется -> достаточно открыть вкладку networks и посмотреть какие данные (и как) передаются в теле запроса (или в get параметрах), какие заголовки.... В вашем случае GET.
    2) если нужно более детально посмотреть как это делается, (также через консоль) ищете какое событие возникает при нажатии кнопки "отправить" или что там у вас. Смотрите метод, анализируете.. ставите точку остановы если потребуется...

    если отвечать на вопрос, что в заголовке:
    просто копируете с нужными данными
    let params = {
      "search": "use fetch luke",
    }
    
    let query = Object.keys(params)
                 .map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))
                 .join('&');
    
    let url = 'https://yandex.ru?' + query
    
    fetch(url)
      .then(data => data.text())
      .then((text) => {
        console.log('request succeeded with JSON response', text)
      }).catch(function (error) {
        console.log('request failed', error)
      })

    сюда что надо и смотрите...
    Ответ написан
  • Почему неправильно работает if в twig?

    tomnolane
    @tomnolane
    профессиональный разработчик
    вы уверены что staus правильно написали? может надо status ?

    upd
    1) попробуйте переопределить переменную с user-status на user_status (везде)
    2) или переменная <code>user-status</code> не передается в представление
    Ответ написан
  • Где-то явная ошибка, но где?

    tomnolane
    @tomnolane
    профессиональный разработчик
    у вас с вычислениями непорядок 5c0cd43d603c2199624867.png

    введите в консоле разрабочтика
    function getRandomArbitrary(min, max) {
      return Math.random() * (max - min) + min;
    }
    let randomItem = getRandomArbitrary(0,3)
    randomItem // вывод: 0.6108746700365573
    document.getElementsByClassName('.music')[randomItem] // undefined


    UPD

    как написал imhuman,
    return  Math.floor(min + Math.random() * (max + 1 - min))
    примерно решает вашу проблему (где min = 0, max =2)
    Ответ написан
    4 комментария
  • Можно очистить папку /var/backups (Debian)?

    tomnolane
    @tomnolane Автор вопроса
    профессиональный разработчик
    Проблема была в айнодах:
    root@vm22433:/etc/mysql# df -i
    Filesystem Inodes IUsed IFree IUse% Mounted on
    udev 124696 304 124392 1% /dev
    tmpfs 127514 452 127062 1% /run
    /dev/vda1 1969920 1969920 0 100% /
    tmpfs 127514 1 127513 1% /dev/shm
    tmpfs 127514 3 127511 1% /run/lock
    tmpfs 127514 15 127499 1% /sys/fs/cgroup
    tmpfs 127514 12 127502 1% /run/user/1002

    через эту программу я нашел "жирную папку"
    for i in /*; do echo $i; find $i |wc -l; done
    это оказалась /home/tomnolane/tmp
    я так не смог её открыть, putty завис. Не долго думая - снёс. В итоге:
    Filesystem      Inodes  IUsed   IFree IUse% Mounted on
    udev            124696    304  124392    1% /dev
    tmpfs           127514    454  127060    1% /run
    /dev/vda1      1969920 450857 1519063   23% /
    tmpfs           127514      1  127513    1% /dev/shm
    tmpfs           127514      3  127511    1% /run/lock
    tmpfs           127514     15  127499    1% /sys/fs/cgroup
    tmpfs           127514     12  127502    1% /run/user/1002


    p.s. на VPS использую VestaCP

    p.s.s. всем спасибо за подсказки, они тоже отвечают на этот вопрос, хотя не конкретно в моём случае
    Ответ написан
    Комментировать
  • Как заблокировать приложение на Android?

    tomnolane
    @tomnolane
    профессиональный разработчик
    Play market -> открыть меню аккаунта -> настройки -> Автообновление приложений -> (Никогда)
    и перепроверить в самом приложении, чтобы не стояли галочки по обновлению в настройках. У меня работает 100% (при обновлении Chrome - вылетает бесконечно кол-во раз ошибка Chrome). Сделал так и все ок. Chrome предварительно откатил на самую раннюю версию
    Ответ написан
    Комментировать
  • Я использую css grid повсюду. Я болен?

    tomnolane
    @tomnolane
    профессиональный разработчик
    Хочется понять, является ли это валидным?

    1) раз validator.w3.org
    2) дваз jigsaw.w3.org
    если сайт проходит проверки - значит валидно
    остальное дело вкуса, удобства и кол-во потраченного времени

    отталкивайтесь от стандартов W3 HTML 5.*
    (по памяти) не припомню, что Ваш случай по стандарту - это плохо
    Ответ написан
    Комментировать
  • Может ли заказчик подать в суд за плохо выполненную работу?

    tomnolane
    @tomnolane
    профессиональный разработчик
    Может написать на что угодно, хоть на то, что вы у него украли сникерс.
    А вот примет суд или нет, а также удовлетворит или нет - решает суд.
    ИМХО во вашему делу, думаю врятли. Нет бумажки (договора) в нашей бюракратической стране - значит ты (в данном случае он) - никто
    Ответ написан
    Комментировать
  • Require без ../?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) использовать composer
    2) composer использует PSR
    это типо что-то вроде этого:
    vendor\Autoloader.php
    <?php
    /**
     * PSR-4 Autoload without composer 
     */
    define('ROOT', __DIR__ . DIRECTORY_SEPARATOR);
    define('SRC', str_replace("vendor\\","",ROOT) . DIRECTORY_SEPARATOR); // тут я удаляю из пути папку, в которой лежит данный автозагрузчик. В моём случае это папка "vendor"
     
    spl_autoload_register(function ($class) {
        $file = str_replace('//', '/', str_replace('\\', '/', SRC .$class)) . '.php';
        if (file_exists($file)) {
            require_once $file;
        }
    });


    Структура проекта:
    папка[root]->
            папка[vendor]->Autoloader.php
            папка[cars]->Car.php
            index.php

    и далее делаете как хотите:
    idnex.php
    namespace kakoeto;
    
    require_once 'vendor/Autoloader.php'; // тут подключается автолоадер
    use Autoloader;
    
    use cars\Car as Car; // вот тут подключаете всё что хотите. Главное, чтобы название класса совпадало с названием php файла, а-ля Car.php
    
    .....
    ?>

    Вот тут почитайте
    Ответ написан
    Комментировать
  • Как подключиться через IPSec?

    tomnolane
    @tomnolane Автор вопроса
    профессиональный разработчик
    Благодарю Валентин 'а за помощь и настройку IPSec и в помощи с тех.поддержкой РТК.
    В итоге SMPP ненужно, тех.поддержка сказала использовать банальный API для СМС.
    Ответ написан
    Комментировать
  • Уроки или примеры по сложным интерфейсам на фронтенде для конструктора чат-ботов?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) вот урок
    2) шаблон раз, дваз

    прикрутить не сложно, к любому проекту, хоть на php, хоть на node.js, хоть на коленку
    npm для этого ненужен
    Ответ написан
    2 комментария
  • Может ли быть одна CMS система быть более уязвима для вирусов, чем другая?

    tomnolane
    @tomnolane
    профессиональный разработчик
    любая CMS уязвима. В большей/меньшей степени зависит от популярности CMS: чем она более "знаменита" тем больше уязвима, тем больше хакером/ИБ ищут в ней различные уязвимости. Есть миллион и один случай который не возможно учесть при разработке любой CMS: от установленных различных программ/приложений на вашем сервере, качество кода/плагинов до уязвимости самой интернет/локальной сети, уязвимости железа и "компьютерной гигиены" пользователя
    Ответ написан
    1 комментарий
  • Какой лучше всего выбрать SSL сертификат?

    tomnolane
    @tomnolane
    профессиональный разработчик
    поддерживаю Максим Федоров :
    Такой вопрос что это за вид сертификата,

    Let’s Encrypt
    примерная стоимости на рынке?

    0 руб
    Ответ написан
    Комментировать
  • Доступ к сайту созданный с помощью OPENSERVER через точку доступа?

    tomnolane
    @tomnolane
    профессиональный разработчик
    есть вот такая штука, называется ngrok. Установить проще, чем зарегестрироваться в ВК. Бесплатно и для вашей целей с лихвой

    копируете файл с программой в то место где сайт, два раза щелкаете мышкой, появляется командная строка где сразу даётся Url доступный для любой точки мира по интернету. Profit
    Ответ написан
    1 комментарий
  • Есть ли в c# удобная функция поиска массива байтов внутри другого массива байтов?

    tomnolane
    @tomnolane
    профессиональный разработчик
    ??
    static int SearchBytes( byte[] haystack, byte[] needle ) {
        var len = needle.Length;
        var limit = haystack.Length - len;
        for( var i = 0;  i <= limit;  i++ ) {
            var k = 0;
            for( ;  k < len;  k++ ) {
                if( needle[k] != haystack[i+k] ) break;
            }
            if( k == len ) return i;
        }
        return -1;
    }
    Ответ написан
    3 комментария
  • Как скомпилировать с-код в vscode?

    tomnolane
    @tomnolane
    профессиональный разработчик
    Как уже упоминалось выше, оболочка Windows PowerShell была разработана с учетом безопасности и надежности. Основной компонент безопасности оболочки Windows PowerShell — это ее политика выполнения. По умолчанию для этой политики задано значение Restricted. В этом можно убедиться с помощью командлета Get-ExecutionPolicy. В режиме Restricted сценарии не выполняются. Точка. Поскольку это режим по умолчанию, оболочку Windows PowerShell нельзя использовать для запуска готовых сценариев.
    ...
    Кроме того, в оболочке Windows PowerShell нельзя выполнить сценарии из текущего каталога. Необходимо указать путь. Это было сделано для того чтобы предотвратить подмену команд.
    ....
    Однако, поскольку оболочка Windows PowerShell не поддерживает запуск сценариев из текущей папки, такая ошибка исключается. Если действительно требуется запустить сценарий из текущей папки, нужно просто указать путь, например .\myscript. Явная ссылка на текущую папку позволяет подтвердить, что требуется запустить именно сценарий, а не команду оболочки.

    источник
    Ответ написан
    Комментировать
  • Хороший фреймворк для разработки бота?

    tomnolane
    @tomnolane
    профессиональный разработчик
    botman на данный момент самый "лучший" (ИМХО), ибо не очень большой выбор. В целом, он не плох (если) хорошо изучить документацию. Я, например, ВК драйвер недавно сделал для него (скоро залью на гитхаб). Проблемы только с Телеграмм - если использовать сервер из РФ, он работать не будет. А так, в целом, очень неплохой. Лучше, я пока не встречал

    п.с. до него я написал трёх ботов "в ручную" (для ВК, Фейсбук и Web). Работают норм, но больше похоже на "костыли", и не очень удобно. А в botman "Hello world" в 39 строк кода, у меня выглядит так:
    <?php
    require_once 'vendor/autoload.php';
    
    use BotMan\BotMan\BotMan;
    use BotMan\BotMan\BotManFactory;
    use BotMan\BotMan\Drivers\DriverManager;
    use BotMan\BotMan\Cache\CodeIgniterCache;
    
    $config = [
        'facebook' => [
          'token' => 'EAAZAT6dcgYDQBAC6x7X******85SLSPF0BRCVeRPPgutgtfvZCkZC9lxnP5pYcRXtF0m7sOAliTEztGPR45cOxx3rZAMZBc9Mb9UhB62gBSG2kXTo7ldyk2fTquadMJQVY8nqKxiOakLXLUZBCSavncCljoe5IAZDZD',
          'app_secret' => 'b52517e****71b6afa76dca657',
          'verification'=>'my_example_veryfy_token',
        ],
        "vkontakte" => [
           "token" => "9af81c610faf0ea319*****d17b0b2b53b164ff3b18cc1b9d4e422fd15db046594139078"
        ],
        'telegram' => [
            'token' => '60176***:****fVCz43IblR72siiyfbebv7wgqCn8tc'
        ]
    ];
    
    DriverManager::loadDriver(\BotMan\Drivers\Vkontakte\VkontakteDriver::class);
    DriverManager::loadDriver(\BotMan\Drivers\Facebook\FacebookDriver::class);
    DriverManager::loadDriver(\BotMan\Drivers\Telegram\TelegramDriver::class); 
    
    $this->load->driver('cache');
    
    $botman = BotManFactory::create($config, new CodeIgniterCache($this->cache->file)); 
    
    $botman->hears('привет', function (BotMan $bot) {
        $bot->reply('Хай.');
    });
    
    $botman->fallback(function($bot) {
        $bot->reply('Чё ??? ...');
    });
    
    $botman->listen();


    UPD
    на этом фреймворке возможны проблемы с русским языком (кодировкой).
    Чтобы её решить, нужно использовать iconv
    iconv('utf-8', 'windows-1251', тут_ваш_ответ_сервера);
    Ответ написан
    1 комментарий
  • Насколько важна "Богатая семантика", в верстке?

    tomnolane
    @tomnolane
    профессиональный разработчик
    есть такая штука, называется w3.org
    она "задаёт" стандарты по "вертске". Рекомендую ознакомиться.
    Вот тут и тут можно проверить - по "феншую" или нет.

    Иногда "проще" не значит лучше, (если вы планируете создавать рекламные компании, хотите хорошие показатели по SEO и т.д.), т.к. Google, Yandex и другие напрямую смотрят какой у вас сайт (в т.ч. вертска по "феншую" или нет) и напрямую (В ЧАСТНОСТИ) влияет это всё на цену в рекламе, позиции в поиске и прочее... (это не значит, если всё будет соответствовать 100% по "феншую" и всем стандартам, Ваш сайт будет на 1-ом месте в поиске)

    Есть стандарт w3 и нужно ему следовать. К примеру по новому стандарту, не обязательно использовать закрывающие теги li, у тегов img обязательно должен быть атрибут alt, недопустимы пустые свойства в css, очень желательно использовать все теги заголовков h1-h6 и причем h1 должен быть всего 1 на странице, теги h2-h6 не должны быть выше такогоже тега, но с числом меньшим (к примеру тег h3 не должен быть в DOM выше, чем h2 и т.д.) и множество множество что ещё

    UPD
    если "богатая семантика" будет кроссбраузерной, проверка тут не покажет ошибок, то хоть в дивах, хоть на всех html тегах верстайте
    Ответ написан
  • Как полностью очистить массив?

    tomnolane
    @tomnolane
    профессиональный разработчик
    используйте статический класс Array с методом Resize от самого msdn
    var myArray = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    Array.Resize(ref myArray, 0);
    Ответ написан
    Комментировать
  • Как при помощи vk api опубликовать пост на стене в группе, в которой не являешься владельцем?

    tomnolane
    @tomnolane
    профессиональный разработчик
    никак
    нужно иметь (у акаунта) права публикации (т.е. админ группы должен вам разрешить делать публикации в настройках группы) и тогда вы сможете делать через API публикации в группе
    Ответ написан