Описание на русском языке ниже.
Reminder bot allows you to set date, time and text to be sent at that time.
Reminder bot uses Linux "at" command to schedule one-time operations (f.ex. send message to user). This is the main feature of Reminder bot: even if bot itself stops because of exception, all scheduled messages are controlled by Linux and 99,9% will be sent in time.
- All scheduled messages are controlled by Linux itself.
- Different timezones support (offset currently depends on your server's GMT offset)
- Multiple languages support (just set necessary lang file in config.py)
- Anti-flood (by default, new users can have not more than 5 reminders at once; expired reminders are erased from database once in a day; you can also add user's ID to "VIP"-list to allow him to have more than 5 reminders)
- Adjustable logging
- A simple State machine easiers step-by-step reminder adding
- Python 3
- pyTelegramBotAPI by @eternoir - the most awesome Telegram Python API I've seen
- Set "export LC_ALL=en_US.UTF-8" via Shell (or start bot from start_clean.sh or start_normal.sh )
- View/Remove currenly set reminders
- Add attachments to reminders
Configure server offset related to GMT +O- any new features I'll think about
Reminder bot - бот для Telegram, помогающий отправлять сообщения-напоминалки в указанное время
Основная функциональность бота кроется в Linux-команде "at". Данная команда идеальна для выполнения одноразовых действий. Собственно, в ней заключается и главная фича бота - даже если он зависнет или "упадёт" с какой-либо ошибкой, все уже запланированные сообщения будут доставлены, т.к. обрабатываются и хранятся самим Linux'ом. База данных в боте используется только для отслеживания количества напоминалок у каждого юзера
- Все запланированные сообщения будут отправлены, т.к. не зависят от состояния бота
- Поддержка различных часовых поясов (пояс "ноль" на данный момент зависит от самого сервера)
- Поддержка различных языков (загляните в config.py и выберите языковой файл)
- Анти-спам: по умолчанию, каждый юзер может иметь не более пяти одновременно активных уведомлений. Можно добавить юзера в "VIP"-лист, тогда он сможет ставить любое число напоминалок. Истёкшие уведомления могут быть удалены скриптом old_remover.py (например, можно добавить его в cron)
- Настраиваемое логирование
- Для бота был написан простейший конечный автомат для возможности пошаговой настройки напоминаний.
- Python 3
- pyTelegramBotAPI by @eternoir - это лучший API для Telegram, который я когда-либо видел
- (особенно актуально для работы с кириллицей) необходимо прописать export LC_ALL=en_US.UTF-8 в консоли или запускать бота через скрипты start_clean.sh или start_normal.sh (есть в репозитории)
- Просмотр/удаление установленных уведомлений
- Добавление аттачей (картинки, аудио, видео) к заметкам
- Обеспечение нормальных часовых поясов (не относительно сервера, а относительно GMT +O)
- Что-то ещё, что придет в мою голову :)