• Telegram Bot как узнать chat_id зная username?

    @PigData
    Jnas, не нашли решения получения user_id по username?
  • Telegram Bot API. Keyboard не работает в группах с темами?

    @PigData Автор вопроса
    shurshur, c webapp походу проблема что не открывается из групп а только из бота (вот мне очень бы хотелось найти возможность открывать из группы). А так там с webapp всё легко - грубо говоря по кнопке открывается сайт из адреса в кнопке в ифрэйме телеги.

    Мне хотелось бы организовать личное взаимодействие пользователя с ботом в пределах окна группы, желательно полностью приватное. Но пока без костылей вида типа вот этих кнопок, или ввода команд через inline_query вариантов особо не вижу.
  • Telegram Bot API. Keyboard не работает в группах с темами?

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

    Мои кейсы использования, может подскажете свои варианты . Пользователь присоединяется к группе, его автоматом приветствует бот и например спрашивает кто он - заказчик или исполнитель. Бот через вебхуки мониторит текст по ключевым словам в сообщениях и встречая их выдает индивидуально пользователю информацию, например встречая ключевое слово "iPhone 12" выдает 3 кнопки - характеристики, отзывы, цены.
  • Почему в БД добавляются пустые данные?

    @PigData
    ThunderCat, отстал несколько от темы, а вот такой еще вопрос - через такую вставку инъекцию часом нельзя сделать?
  • Telegram Bot API. Keyboard не работает в группах с темами?

    @PigData Автор вопроса
    shurshur, да попробовал и вроде не появляются они там. Игрался и с message_thread_id и с reply_to_message_id, сообщения идут как надо и куда надо, но кнопки не появляются. Пробовал и selective делать с @mentioned в тексте сообщения, но всё никак.
  • PHP curl_multi - как вернуть первый результат без ожидания остальных?

    @PigData Автор вопроса
    Спасибо, работает! А вдогонку еще вопросец, как именно мне проверить на месте "// типа выход" результат который прислал сервер? Именно контент - проверить что там именно json с нужными мне параметрами а не например страница 404 отданная с кодом 200.

    У меня далее возвращает через curl_multi_getcontent($id), но как именно на точке выхода определить $id запроса чтобы сделать проверку?
  • Telegram webapps - как проверить hash из Telegram.WebApp.initData на php?

    @PigData Автор вопроса
    Спасибо, оказалось достаточно поменять в моем коде

    $secret_key = hash('sha256', $token, true);

    на

    $secret_key = hex2bin(hash_hmac('sha256', $token, "WebAppData"));


    Проблема была что на тестах я пробовал правильный hash_hmac без hex2bin
  • Отображение input type="date" в Chrome?

    @PigData Автор вопроса
    Именно в Хроме и именно на input type="date" у меня ваш стиль ничего совсем не изменяет
  • VK Mini Apps на PHP+JS (без установки VK Bridge)?

    @PigData Автор вопроса
    iBird Rose, да, это оба Iframe приложения, только у VK Mini Apps новое API с некоторым новыми интересными для меня методами и я хочу узнать как работает API напрямую без прокладок типа REACT и VK Bridge.
  • VK Mini Apps на PHP+JS (без установки VK Bridge)?

    @PigData Автор вопроса
    iBird Rose, я как понимаю на фронте я могу использовать JS (да он по сути и есть в VK Bridge на фронте?).

    Сейчас я в том числе использую iframe приложение и там мне сразу отдается токен пользователя с которым я могу работать, по некоторым причинам iframe приложение меня не совсем устраивает и с минимальными усилиями я хотел переработать под VK Mini Apps.
  • VK Mini Apps на PHP+JS (без установки VK Bridge)?

    @PigData Автор вопроса
    iBird Rose,

    1. У меня есть готовый сервис и просто надо привязать пару действий к ВК, устанавливать что-то и переписывать смысла не вижу. Возможно если моя аудитория будет проявлять повышенную активность именно в ВК надо будет решать как работать.

    2. Попытался сунуться в исходники bridge и с ходу мне разобраться сложно, большинство нужных мне вещей я реализую на стандартном API одной строчкой PHP кода
  • MySQL хэши для оптимизации SELECT?

    @PigData Автор вопроса
    Скажем допустимо несколько десятков-сотен коллизий, но если счет пойдет на тысячи уже не совсем мой вариант.
  • Пропажа из индекса уникальных страниц в пользу того, кто их крадет?

    @PigData
    Посмотри у воришек хедеры, может они Last-Modified раньше даты твоей публикации прописывают и гугл их считает первоисточником. Раньше вроде баловались таким, сейчас не знаю точно работает ли.
  • Как сделать datalist с поддержкой опечаток?

    @PigData Автор вопроса
    Уважаемый, первым делом читайте вопрос, а не бегите отвечать. Это ценится
    В вопросе спрашивается именно "Без использования сторонних библиотек типа автокомплита."

    Я не сторонник цеплять паровозом десятки библиотек когда некоторые вещи решаются средствами HTML & CSS (возможно не в данном случае)
  • Chrome extensions: как получить image data?

    @PigData Автор вопроса
    Спасибо за ответ, но:

    1. Как в Chrome extensions отловить объект над которым произошел вызов контекстного меню (mouseover, focus, etc.), типа console.log(this.src)?

    2. Интересует именно снять data без повторного запроса через url - там графики статистики в виде картинки и они не кэшируемые и обновляются при каждом запросе - пользователь увидит одно, а отправит другое.
  • Curl_multi - как измерить скорость каждого потока?

    @PigData Автор вопроса
    Дмитрий, это первое что я подумал и попробовал, но это походу показывает только время "подсоединения текущего дескриптора" перед их асинхронным выполнением.
  • MySQL оптимизация размера (INDEX,ENUM)?

    @PigData Автор вопроса
    Dmitry Bay,
    Оторвать руки человеку, который спроектировал это? То что вы говорите, для меня в 2005 году страшно звучало. А на дворе уже 2019 год.


    Есть и обратная сторона медали - мелкие базы без перспективы роста в которых нагородили десятки таблиц и сам черт там ногу сломит. В 2005 году может это было и нормально, но в 2019 есть например тот же тип JSON который может заменить несколько дополнительных таблиц + выросли серверные мощности (подешевели), выросли скорости интернета и возможности клиентских машин, например можно один раз отдать большой объем данных клиенту в виде json и производить такие операции как сортировка/фильтрация/поиск у него в браузере сократив количество sql запросов в десятки раз.
  • MySQL оптимизация размера (INDEX,ENUM)?

    @PigData Автор вопроса
    Dmitry Bay, пример со статистикой возможно не очень удачный, думал просто часто используемый. Попробую привести более реальный кейс.

    Дают архивную таблицу myisam фирмы продающей 5 товаров, в 5 городов, 5 способов доставки и 5 способов оплаты. Все эти поля скажем varchar(25) и таблица с десятками-сотнями миллионов строк весит достаточно много. Задача оптимизировать размер таблицы без смены типа базы данных, скриптов с ней работающих, дополнительных таблиц - максимально быстро/дешево/безопасно. Загоняем все вышеозвученные поля в enum и таблица худеет в несколько раз. Но если мы хотим загнать в enum города/улицы доставки заказов упираемся в лимит 64 кб .frm файла. Ну и конечно минус enum предопределенные значения (для не архивных таблиц). Есть решение по уменьшению размера без дополнительных таблиц? Скорость выборки абсолютно не важна.
  • MySQL оптимизация размера (INDEX,ENUM)?

    @PigData Автор вопроса
    Dmitry Bay, Вероятно на любой вопрос здесь можно ответить "читайте больше литературы"? Зачем тогда этот сайт? Мне кажется чтобы каждый раз не изобретать велосипед.

    1. Про вынос во внешние таблицы я знаю и сказал об этом, но если ТЗ оптимизировать данные без дополнительных таблиц (даже несколько обоснованное) буду делать так.

    2. Нужно перекидывать базы между несколькими машинами, myisam тупо копируются файлы таблицы, с innodb это возможно? И это только один из кейсов.

    3. Про индексы на enum поля я не спрашивал, интересует использования индекса подобно enum для хранения данных.

    Информации в сети море, вопрос в ее актуальности. Например относительно недавнее появление в MySQL поля JSON позволило, в некоторых случаях, кардинально пересмотреть структуру баз и работу с ними.
  • MySQL оптимизация размера (INDEX,ENUM)?

    @PigData Автор вопроса
    Таблица "статистика посещений" приведена для примера на самом деле там поля не разрешения/ip а varchar(255) с соответствующим размером данных. Интересует общий подход. Статьи по организации хранения/скорости работы myisam/innodb я читал, но некоторая информация 3-5 летней давности вероятно не так актуальна сейчас.

    1. Enum - с помощью него я уменьшал таблицы раз в 10, причем например архивные в которые данные уже не добавляются, да и чтение происходит несколько раз в год. Ерунда?

    2. У myisam есть (были) свои преимущества, но некоторые, как понимаю, в данный момент не так актуальны. Например раньше myisam была существенно быстрее innodb на чтение, но сейчас вроде innodb существенно сократила отставание.

    3. Про индексы я спросил так как слышал что данные можно хранить только в индексах (innodb?) и это получается по сути безлимитный enum без предопределенных значений. Вот этот вопрос меня особо интересует.