Да, слово вайбкодинг имеет негативную коннотацию, но мне кажется странным самому набирать буковки, если это может сделать машина?
В общем я по делу. Видите мою аватарку, не знаю как к этому отнесётся @maxcom, я хочу чтобы на аватарке отображались реакции которые были поставлены за последние N часов отображаются на первой странице уведомлений, зачем? Да кто его знает, может кому-то понравится.
Код, отдебаженный, пушу сюда lor-reaction-avatar.
Правилами форума запрещается создавать ботов, поэтому прошу накидать реакций из вот таких:
reactions: ["👍", "😊", "☕☕", "🎉", "🔥"]
Что делает программа
Заданным шрифтом, заданные реакции отображает на аватаре. Цвет тоже можно подобрать, есть режим dry-run, чтобы поиграть и подобрать параметры. В конфиге есть такие параметры:
lor:
base-url: "https://www.linux.org.ru"
username: "lor_user"
password: "lor_user_password"
notifications-path: "/notifications"
reactions: ["👍", "😊", "☕☕", "🎉", "🔥"]
avatar:
source-dir: "avatar"
output-dir: "data/generated-avatar"
default-size: [300, 300]
# Цвет именно цифр в строках +N. Emoji рисуются emoji-color.
font-color: "#00a000"
emoji-color: "#111111"
font-size: 28
font: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
emoji-font: "/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf"
emoji-font-size: 28
output-format: "png"
max-file-size-kb: 100
jpeg-quality: 90
top-padding: 65
line-spacing: 12
right-padding: 30
line-spacing: 12
upload:
form-url: "/addphoto.jsp"
# Обычно можно оставить пустым: клиент сам найдёт file input на форме.
file-field: "file"
submit-field: ""
submit-value: ""
extra-fields: {}
state:
file: "data/reaction-state.json"
history-hours: 2
runner:
# Запуск не чаще в минутах
interval-minutes: 120
# 0 — бесконечно, удобно для docker compose up -d.
max-runs: 0
# Отработать сразу при первом запуске
run-on-start: true
# true — построить изображение, но не отправлять форму смены аватара.
dry-run: false
Свою аватарку нужно положить в каталог avatars/ под именем файла username.jpg, после первого запуска, сразу отобразятся изменения. Полученная картинка, опубликованная на сайте, кладётся в каталог data/generated-avatar/username.png.
PS. Ставить лайки можно на любые мои посты и комменты.
У меня сейчас локально немного другая версия, обновлю GitHub вечером, когда тестировать закончу.
Не сердись, $username, некоторые вещи делаются просто для развлечения.
Если всё же maxcom это дело сильно не одобряет, ну что же, тогда прекращаю, займусь чем-нибудь полезным.
PPS. Дефолтные параметры настроены на изображения 300x300 px



