Pull to refresh

Comments 30

Если использовать то же имя триггера для другого сообщения, предыдущее потеряется?

Да, старый затрется и встанет новый

В телеграмме же есть закрепленные сообщения, они не подойдут для решения задачи? Или хэштеги? А что если у бота будет много триггеров - как потом в них не запутаться? Мне кажется эту задачу нужно решать другими способами.

Кому-то подходят закрепы, кому-то хештеги. Но мы для себя такой формат вот нашли.

Для списка триггеров есть команда /trigger_list

Закрепы — это, как правило, либо огромное сообщение, в котором всё, либо ссылка на док, то есть клики и переключение внимания, поиск, фильтрация — усилия. Теги — штука тематическая и также подразумевает поиск в них, разовый тег на одно сообщение с огромной вероятностью просто забудется. А триггер — это короткие порции нужных данных сразу, насколько я понял

По сути это еще один инструмент в этом наборе. Хочешь - пользуйся тегами, хочешь закрепами. А хочешь триггерами.

И да, разовые теги 100% забываются. Закрепы чаще всего это САМАЯ важная информация. А триггеры лепи на что угодно и в любой момент потом можно весь список их посмотреть.

А что произойдет, если написать в чат:
Привет, дизайнеры не смогут сегодня предоставить проект. Дизайнеры просто не успевают

В этом боте нет поиска по тексту. Бот просто не отреагирует.

Мы посчитали, что так удобнее, чем получать кучу спама на каждое сообщение, в котором упоминается триггерное слово

Т.е. он просто реагирует на одиночные сообщения содержащие триггер?
Если так, то - ок 👍

Да, только если точное совпадение. С учетом регистра.

"Гифка" и "гифка" это разные триггеры

Подумалось: а почему Вы используете сложную команду из двух слов и подчеркивания? Почему просто не использовать /trigger (/note, /!)? Кстати, можно ли использовать команды на русском языке (я понимаю, что переключиться не занимает много времени, но все же)?
А с мобилки так вообще какой нибудь спец символ из того же набора где слеш

Слой родной Apple клавиатуры с спецсимволами
Слой родной Apple клавиатуры с спецсимволами

Мы используем говорящие сами за себя команды. Такова практика ботостроения.

Вот допустим мы добавим команду /trigger и что она будет значить? Удалить или добавить? А вторую тогда какую делать?

Что касается спец символов и русского языка: телега не поддерживает их. Только англ и только нижние подчеркивания (тире тоже не прокатит).

Ну и если бот добавлен в группу то при вводе / вылезает меню с подсказкой.

И это не считая того, что слеш уже есть в интерфейсе

Можно добавить специальный символ к ключу, что-то вроде *дизайнеры, и искать его, тогда спама у вас не будет.

Я извиняюсь но смотря на " Для комфортной работы бота хватает 512 мб памяти" хочется плакать. К автору статьи вопросов нет но...

Но что? Это камень в огород джаве?)

Нет. Но это камень в сторону использующих технологию и крайне лишнего оверхеда из за пары хттп запросов и одного запроса в базу данных. Крайне.

Я все равно не до конца понимаю комментарий.

Расшифруйте пожалуйста еще более просто

По вашему 512 мегабайт памяти для приложения которое делает несколько хттп запросов к телеграмму и столько же, даже меньше, в базу данных - это нормально?

Разумеется, что фактическое потребление будет составлять в несколько раз меньше. Однако если держать в уме функцию приложения, которое должно среди строк искать несколько конкретных заранее известных из списка строк и давать в ответ заранее известные строки - вам не кажется, что даже 'в несколько раз меньше' - это все ещё очень много? И вам не кажется что при таких цифрах возможно стоит использовать либо другой язык и стек либо реализовать вещи вручную что бы не было такого огромного потребления?

Доброго времени суток, я так понял, что бот работает только в чате, куда его добавили. То есть, чтобы найти нужную информацию, нужно постоянно открывать чат с ботом и пересылать сообщение. Имеет смысл настроить InlineQuery, чтобы можно было обращаться к боту из любого чата и сразу же отсылать нужное сообщение.

Да, только в чате куда его добавили. В другом чате будут уже свои триггеры.

Инлайн мы тоже думали сделать, но не стали. Потому что в одном чатике можно работать работу, а в другом кекать с мемасов. Эти активности перемешивать было бы странно (по крайней мере мы так подумали)

Так вам ничего не мешает кекать или работать. Через поле ввода сообщения вы можете обращаться напрямую к конкретному боту через @ и выбирать нужную информацию, то есть в вашем "кекном" чате этот никак не будет отражаться, пока к нему не обратиться. Им можно воспользоваться в любом чате или группе, даже никуда не добавляя.

Возможно, мы о разном функционале говорим.

Нет, я понял о каком функционале вы говорите.

Просто мы решили вот на такой реализации остановиться. Возможно потом прикрутим инлайн. Но пока текущая конфигурация устраивает и переписывать не видим нужды.

Спасибо за комментарий в любом случае

Всё понял, хорошо, я просто подумал, вдруг ещё не рассматривали. Ни в коем случае не настаиваю :) А так, функционал интересный.

Да, я уловил. Хоть я и не технарь и доку читать не могу, но ботов уже давно делаю, поэтому понял про что речь

Да вы не подумайте, я тоже не мастер в этих делах, просто сам сейчас бота начал писать, решил поделиться небогатым недавно приобретенным опытом ..

Буду рада глянуть на код. Спасибо.

Напишите мне в телегу пожалуйста. В профиле есть

А в инлайн он не умеет? Типа как @vid - поиск по Ютуб, попробуйте прикрутить, тогда он явно будет выигрывать по сравнению в тегами/закрепами

Не умеет. Возможно позже прикрутим. Пока не видели нужды

Sign up to leave a comment.

Articles