eleksir
47b694c477
Optimize: move command list slices to package-level
2026-03-30 17:57:51 +03:00
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