shurshur, c webapp походу проблема что не открывается из групп а только из бота (вот мне очень бы хотелось найти возможность открывать из группы). А так там с webapp всё легко - грубо говоря по кнопке открывается сайт из адреса в кнопке в ифрэйме телеги.
Мне хотелось бы организовать личное взаимодействие пользователя с ботом в пределах окна группы, желательно полностью приватное. Но пока без костылей вида типа вот этих кнопок, или ввода команд через inline_query вариантов особо не вижу.
shurshur, там можно показать кнопку не всем, а одному, или списку пользователей. Правда реализовано несколько криво - сообщение приходит всем, а кнопка появляется только у пользователей из списка, не понятно почему по этому алгоритму и сообщение не показывать только этим пользователям. Но суть не в этом, в документации есть такая возможность и в группах без тем она работает, а вот с темами нет.
Мои кейсы использования, может подскажете свои варианты . Пользователь присоединяется к группе, его автоматом приветствует бот и например спрашивает кто он - заказчик или исполнитель. Бот через вебхуки мониторит текст по ключевым словам в сообщениях и встречая их выдает индивидуально пользователю информацию, например встречая ключевое слово "iPhone 12" выдает 3 кнопки - характеристики, отзывы, цены.
shurshur, да попробовал и вроде не появляются они там. Игрался и с message_thread_id и с reply_to_message_id, сообщения идут как надо и куда надо, но кнопки не появляются. Пробовал и selective делать с @mentioned в тексте сообщения, но всё никак.
Спасибо, работает! А вдогонку еще вопросец, как именно мне проверить на месте "// типа выход" результат который прислал сервер? Именно контент - проверить что там именно json с нужными мне параметрами а не например страница 404 отданная с кодом 200.
У меня далее возвращает через curl_multi_getcontent($id), но как именно на точке выхода определить $id запроса чтобы сделать проверку?
iBird Rose, да, это оба Iframe приложения, только у VK Mini Apps новое API с некоторым новыми интересными для меня методами и я хочу узнать как работает API напрямую без прокладок типа REACT и VK Bridge.
iBird Rose, я как понимаю на фронте я могу использовать JS (да он по сути и есть в VK Bridge на фронте?).
Сейчас я в том числе использую iframe приложение и там мне сразу отдается токен пользователя с которым я могу работать, по некоторым причинам iframe приложение меня не совсем устраивает и с минимальными усилиями я хотел переработать под VK Mini Apps.
1. У меня есть готовый сервис и просто надо привязать пару действий к ВК, устанавливать что-то и переписывать смысла не вижу. Возможно если моя аудитория будет проявлять повышенную активность именно в ВК надо будет решать как работать.
2. Попытался сунуться в исходники bridge и с ходу мне разобраться сложно, большинство нужных мне вещей я реализую на стандартном API одной строчкой PHP кода
Посмотри у воришек хедеры, может они Last-Modified раньше даты твоей публикации прописывают и гугл их считает первоисточником. Раньше вроде баловались таким, сейчас не знаю точно работает ли.
Уважаемый, первым делом читайте вопрос, а не бегите отвечать. Это ценится
В вопросе спрашивается именно "Без использования сторонних библиотек типа автокомплита."
Я не сторонник цеплять паровозом десятки библиотек когда некоторые вещи решаются средствами HTML & CSS (возможно не в данном случае)
1. Как в Chrome extensions отловить объект над которым произошел вызов контекстного меню (mouseover, focus, etc.), типа console.log(this.src)?
2. Интересует именно снять data без повторного запроса через url - там графики статистики в виде картинки и они не кэшируемые и обновляются при каждом запросе - пользователь увидит одно, а отправит другое.
Дмитрий, это первое что я подумал и попробовал, но это походу показывает только время "подсоединения текущего дескриптора" перед их асинхронным выполнением.
Оторвать руки человеку, который спроектировал это? То что вы говорите, для меня в 2005 году страшно звучало. А на дворе уже 2019 год.
Есть и обратная сторона медали - мелкие базы без перспективы роста в которых нагородили десятки таблиц и сам черт там ногу сломит. В 2005 году может это было и нормально, но в 2019 есть например тот же тип JSON который может заменить несколько дополнительных таблиц + выросли серверные мощности (подешевели), выросли скорости интернета и возможности клиентских машин, например можно один раз отдать большой объем данных клиенту в виде json и производить такие операции как сортировка/фильтрация/поиск у него в браузере сократив количество sql запросов в десятки раз.
Dmitry Bay, пример со статистикой возможно не очень удачный, думал просто часто используемый. Попробую привести более реальный кейс.
Дают архивную таблицу myisam фирмы продающей 5 товаров, в 5 городов, 5 способов доставки и 5 способов оплаты. Все эти поля скажем varchar(25) и таблица с десятками-сотнями миллионов строк весит достаточно много. Задача оптимизировать размер таблицы без смены типа базы данных, скриптов с ней работающих, дополнительных таблиц - максимально быстро/дешево/безопасно. Загоняем все вышеозвученные поля в enum и таблица худеет в несколько раз. Но если мы хотим загнать в enum города/улицы доставки заказов упираемся в лимит 64 кб .frm файла. Ну и конечно минус enum предопределенные значения (для не архивных таблиц). Есть решение по уменьшению размера без дополнительных таблиц? Скорость выборки абсолютно не важна.
Dmitry Bay, Вероятно на любой вопрос здесь можно ответить "читайте больше литературы"? Зачем тогда этот сайт? Мне кажется чтобы каждый раз не изобретать велосипед.
1. Про вынос во внешние таблицы я знаю и сказал об этом, но если ТЗ оптимизировать данные без дополнительных таблиц (даже несколько обоснованное) буду делать так.
2. Нужно перекидывать базы между несколькими машинами, myisam тупо копируются файлы таблицы, с innodb это возможно? И это только один из кейсов.
3. Про индексы на enum поля я не спрашивал, интересует использования индекса подобно enum для хранения данных.
Информации в сети море, вопрос в ее актуальности. Например относительно недавнее появление в MySQL поля JSON позволило, в некоторых случаях, кардинально пересмотреть структуру баз и работу с ними.
Таблица "статистика посещений" приведена для примера на самом деле там поля не разрешения/ip а varchar(255) с соответствующим размером данных. Интересует общий подход. Статьи по организации хранения/скорости работы myisam/innodb я читал, но некоторая информация 3-5 летней давности вероятно не так актуальна сейчас.
1. Enum - с помощью него я уменьшал таблицы раз в 10, причем например архивные в которые данные уже не добавляются, да и чтение происходит несколько раз в год. Ерунда?
2. У myisam есть (были) свои преимущества, но некоторые, как понимаю, в данный момент не так актуальны. Например раньше myisam была существенно быстрее innodb на чтение, но сейчас вроде innodb существенно сократила отставание.
3. Про индексы я спросил так как слышал что данные можно хранить только в индексах (innodb?) и это получается по сути безлимитный enum без предопределенных значений. Вот этот вопрос меня особо интересует.