Как стать автором
Обновить

Комментарии 13

Спасибо! Отличная статья, хороший бот. Сам хотел сделать что-то похожее – тоже играем периодически :)


Единственное, что показалось не слишком удачным — ручной ввод даты игры в заданном формате. Можно сделать это поле свободным, что-то вроде «название события». С возможностью его отредактировать. Полезнее будет иметь название события типа «среда 20:30, 5х5, поле 4, 600 р.»

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

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

Я это учел в своем варианте бота. Можно даже в свободной форме указывать, оно определит время (если указано; будет заодно показывать сколько осталось).

И добавление игроков кнопками в сообщении, чтобы не заспамливался чат.

https://github.com/KMiNT21/telegram_sport_event_bot

Работающая версия в телеграме - @zp_futsal_bot (язык будет русский, если не выбран английский в интерфейсе)

Спасибо, видимо придётся моих футболистов на телеграм переводить. А как на русский переключиться, пока не разобрался?
Не совсем понял вопрос, но попробую ответить. Для Telegram в ответе используется язык пользователя который установлен в месенжере и соответствующий идентификатор прилетает вместе с сообщением. Так что кому-то бот отвечает на русском, а кому-то на английском. Для VK я не нашел быстрого способа определить локаль пользователя, не стал заморачиваться и захардкодил 'ru'.
У меня и на iPhone и на Маке русская локализация Telegram, но всё равно бот говорит по-английски.
Пока не знаю, что ответить. В моем случае отвечает на русском языке при установленном в настройках телеграмма русском. Речь идет про десктопное приложение для Mac. Если есть желание разобраться, можем создать группу в Telegram, добавить бота и поэкспериментировать.

Делал подобное с использованием смс, раньше смски были практически бесплатными а отправить можно было с кнопочного телефона. 3 баш скрипта.

Приветствую, коллега-ботовод :)


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


А про локаль идея хорошая, но локаль читается из сообщения пользователя и привязывается к локали именно этого пользователя? По группе локализации не вижу вроде и настроек таких нет, если я не ошибаюсь

А я сделал так (ссылка в комменте выше), что можно просто в названии написать как-то типа "Футбол, послезавтра, 18:30". И оно само вытаскивает правильную дату. И вот тоже хотел сделать уведомления. Например, в день игры за несколько часов. Но что-то меня остановило... не помню уже что. :) Наверное, надо-таки сделать. Только определиться бы с временными точками напоминания...

я думал об этом, но у меня бот работает в куче временных зон.... как ориентироваться для кого это 18 30 и по какой зоне. У меня даже со мной локальное время сервера бота и моя временная зона отличаются.

Пользовался парой ботов-напоминалок. Начало работы - выбор часового пояса.

Увидел недавно этого бота у нас в одной футбольной группе. Но в какой-то момент он перестал работать (я так понимаю, на сервере был выключен). Погуглил название бота и нашел эту статью на Хабре. :)

Посмотрел, что оно на NodeJS. Подумал, может посмотреть как вообще боты под телеграмм пишутся. Как оказалось, вполне удобная библиотечка для питона есть. И решил аналог написать, сохранив синтаксис команд, к которым те люди (наверное) привыкли.

Сначала вообще думал не делать универсальный, а сделать чисто под один наш чат. За вечер вышло уже работающего бота получить. Но потом-таки пошло-поехало. Переделывал-допиливал. А тем временем и тот бот заработал. :)

Кроме автоматического вычленения даты (я в др комменте пример давал) я еще добавил параметр LIMIT для каждого события. Чтобы не было так, что у нас 12 человек максимум, а наплюсовались уже 16, и они не знают, что уже лишние. А так задаем /limit 12 . И все, кто не успели в основной список, красуются в блоке "Резерв".

И кроме этого еще фиксируется время отмены заявки (и отображается список отмененных в самом низу). Чтобы было потом видно тех, кто отменился за час, например. Особо злостных можно штрафовать командой /penalty USERID. :) Это просто для отображения желтых карточек рядом с именем, если коэффициент заявки/штрафы становится уже неприличным.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации