0
Commit Graph

54 Commits

Author SHA1 Message Date
eleksir
f72b510b65 More autogenerated tests! 2026-03-30 17:18:51 +03:00
eleksir
2ef9199c9a Add tests, add makefile targets - test and help 2026-03-30 17:05:16 +03:00
eleksir
77bddef812 Fix minor bugs: log file close, typo, JSON field consistency
- Add defer logfile.Close() to prevent file descriptor leak
- Fix typo 'Incomming' -> 'Incoming' in log message
- Change JSON tag 'Misc' to 'misc' for consistency with sMsg
2026-03-30 17:03:57 +03:00
eleksir
e34866abe2 Fix config validation to reject invalid configs 2026-03-30 16:45:13 +03:00
eleksir
59643b6a0a Add cancellable context for Redis operation to prevent hanging redis ops on shutdown
- Rename Ctx to RedisCtx with CancelRedisCtx function
- Signal handler now cancels context before closing Redis
2026-03-30 16:37:37 +03:00
eleksir
57b2c56b3f Process messages until channel close on shutdown
- Remove Shutdown check - process all messages in buffer
2026-03-30 16:26:22 +03:00
eleksir
9bb8eba492 Add Redis reconnection logic
- Set MaxRetries to -1 (infinite retries)
- Configure MinRetryBackoff (1s) and MaxRetryBackoff (30s)
2026-03-30 16:22:28 +03:00
eleksir
6c8e735d04 Add retry logic for Redis publish failures
- Retry up to 3 times with 1 second delay on publish failure
2026-03-30 16:21:57 +03:00
eleksir
3afe728650 Add Redis connection health check at startup
- Add Ping() call after Redis client creation to verify connectivity
2026-03-30 16:05:31 +03:00
eleksir
b661d42074 Fix Fwdcnt zero value handling in message parsing
- Change Fwdcnt type from int64 to *int64 in rMsg struct
- Use pointer to properly distinguish between 'not provided' (nil) and explicit 0
- Update all Fwdcnt usages to dereference pointer
2026-03-30 01:52:27 +03:00
eleksir
97b337db31 Fix panic on empty/short message in MsgParser
- Add bounds check before slicing message for csign prefix detection
- Prevents index out of range panic when message is empty or shorter than csign
2026-03-30 01:47:13 +03:00
eleksir
41bdd6685a Обновлён README.md v1.9 2025-10-12 14:51:21 +03:00
eleksir
14778f40f6 Обновлены завендоренные зависимости 2025-10-12 14:50:52 +03:00
eleksir
9baa9ec5a2 Механики логгирования вынесены в отдельный модуль 2025-10-12 14:50:12 +03:00
eleksir
11e3eb1de0 Makefile сделан более кроссплатформенным 2025-10-12 14:49:26 +03:00
eleksir
1a3c40140a Изменён формат даты на гошный DateTime v1.8 2025-10-08 00:48:39 +03:00
eleksir
a49abdd715 Logrus заменён на штатный log/slog, обновлены зависимости 2025-10-07 23:59:18 +03:00
eleksir
e000489790 Изменено расположение файлов на более гошное, обновлены зависимости 2025-08-30 03:12:40 +03:00
eleksir
02fd7bd448 Обновлены зависимости 2025-04-06 17:27:18 +03:00
eleksir
682553931f Реализованы команды w п weather погода погодка погадка без аргументов v1.7 2025-02-09 15:01:43 +03:00
eleksir
8ee469a10e Обновлены зависимости v1.6 2024-09-17 23:32:26 +03:00
eleksir
2e857bc724 Переходим с сервиса webapp на webapp-go 2024-09-17 23:31:22 +03:00
eleksir
fcd8ec8b5b Replace README file with README.md 2024-08-03 20:27:24 +03:00
eleksir
1606e89a4a Move msgParser() to separate file 2024-08-03 20:26:32 +03:00
eleksir
9943dbad17 Fix typo in comment 2024-08-03 20:25:25 +03:00
eleksir
b8ffe727ee Update dependencies 2024-07-24 22:46:24 +03:00
eleksir
c572f16ac0 More verbose startup process 2024-03-10 11:13:32 +03:00
eleksir
5f78f7da2c Минимальная версия компилятора теперь 1.21 2024-02-27 02:09:00 +03:00
eleksir
9ec26ec735 Исправлены места, на которые ругался линтер 2024-02-27 02:07:10 +03:00
eleksir
a5e8896870 Добавлены правила линтера 2024-02-27 01:52:45 +03:00
eleksir
06a5cb69cf Обновлены завендоренные зависимости 2024-02-27 01:51:41 +03:00
eleksir
6523ec8840 Merge branch 'master' into webapp-go 2023-06-04 19:54:10 +03:00
eleksir
48050fe3cc Если конфиг не загрузился, надо выходить, а не продолжать взлетать. v1.5 2023-06-04 19:48:22 +03:00
eleksir
289d6e27c9 Переключаем канальчик для команд drink, weather с webapp на webapp-go 2023-06-04 18:59:08 +03:00
eleksir
4c0aaee87d Переключаем канальчик для команд boobs, butt, monkeyuser 2023-05-28 20:02:29 +03:00
eleksir
5529026bc1 Переключаем канальчик для команд buni, anek, xkcd с webapp на webapp-go 2023-05-27 16:06:52 +03:00
eleksir
b7b6ff02b9 Переключаем канальчик для команды fox с webapp на webapp-go 2023-05-22 01:32:25 +03:00
eleksir
3f46be0e7e Подправлена работа с redis-ом, добавлена настройка таймаута соединения 2023-05-22 01:28:41 +03:00
eleksir
7ccffb7095 Переключаем канальчик для команды cat с webapp на webapp-go 2023-05-21 14:30:21 +03:00
eleksir
9fb19c8c32 Добавлена обработка канальчиков из конфига, добавлен кнанал webapp-go
* Берём список каналов из конфига (пока что хардкод)
* Добавлен канальчик webapp-go для новой реализации веб-клиента (пока команды cat и кис)
2023-05-21 14:23:29 +03:00
eleksir
05f12e2d50 Обновлены завендоренные зависимости 2023-05-18 01:07:19 +03:00
eleksir
d22c83bc4e Добавлена команда пословиться 2023-05-18 00:54:15 +03:00
eleksir
545b85908c Используем ReadFile() из пакета os, ioutil устарел 2023-05-18 00:52:39 +03:00
eleksir
f94136938f Обновлены завендоренные зависимости 2022-11-26 12:29:29 +03:00
eleksir
eb71029cd5 Добавлена команда fuck 2022-11-26 12:25:02 +03:00
eleksir
6d509c8018 Исправлена опечатка в Makefile v1.4 2022-11-06 18:50:48 +03:00
eleksir
6fe13e8605 Добавлена поддержка поля threadid в json message protocol 2022-11-06 18:42:28 +03:00
eleksir
c4fa8c07df Upgrade versions of vendored libs 2022-11-04 16:24:54 +03:00
eleksir
3f5f039705 Добавлены команды для бармэна v1.3 2022-08-10 20:07:42 +03:00
eleksir
b2469f117d Рефакторинг, поднял минимальную версию go до 1.18 2022-08-01 22:54:22 +03:00