add meme pointer support - annna - Annna the nice friendly bot.
HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
---
DIR commit f008d349f0a8b0350b482dc0f48e5a24c7f5c2ce
DIR parent da84f9338c88f1cdc665237933a5b6025eb3adc0
HTML Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Fri, 17 Feb 2023 10:38:22 +0100
add meme pointer support
Signed-off-by: Annna Robert-Houdin <annna@bitreich.org>
Diffstat:
M annna-message-common | 23 +++++++++++++++++++++--
A pointer | 38 +++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+), 2 deletions(-)
---
DIR diff --git a/annna-message-common b/annna-message-common
@@ -1147,7 +1147,7 @@ esac
printf '%s' "$text" | awk -v taglimit="$printnhashtags" '
$0 !~ /#nospoil/ {
- while (match($0, /#[^# /"'\'',?!;$\001]+/)) {
+ while (match($0, /[#*][^#^* /"'\'',?!;$\001]+/)) {
tag = substr($0, RSTART, RLENGTH)
$0 = substr($0, RSTART + RLENGTH)
sub(/[.]*$/, "", tag)
@@ -1157,12 +1157,31 @@ $0 !~ /#nospoil/ {
}' | while read -r tag;
do
[ "${tag}" == "#expand" ] && continue
+ case "${tag}" in
+ "*"*)
+ tag="#${tag#\*}"
+ pointer=1;;
+ *)
+ pointer=0;;
+ esac
if tagline="$(grep "${tag} " "${hashtagfile}")";
then
if [ $nospoil -eq 0 ];
then
- annna-say -s "${server}" -c "${channel}" "${tagline% *}: ${tagline#* }"
+ if [ $pointer -eq 1 ];
+ then
+ outfile="*${tag#\#}.jpg"
+ outpath="/br/gopher/memecache/filter/${outfile}"
+ inpath="/br/gopher/memecache/${tagline##*/}"
+ [ ! -f "${inpath}" ] && exit 0
+ if pointer "${inpath}" "${outpath}" 2>&1 >/dev/null;
+ then
+ annna-say -s "${server}" -c "${channel}" "*${tag#\#}: gophers://bitreich.org/9/memecache/filter/${outfile}"
+ fi
+ else
+ annna-say -s "${server}" -c "${channel}" "${tagline% *}: ${tagline#* }"
+ fi
fi
else
if [ $doexpand -eq 1 ];
DIR diff --git a/pointer b/pointer
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+die() {
+ printf '%s\n' "$1" >&2
+ exit 1
+}
+
+if test $# -ne 2; then
+ die "usage: ${0##*/} <file> <outimagefile>"
+fi
+
+mimetype="$(file -ib "$1")"
+case "$mimetype" in
+ video/*)
+ in="$(mktemp).jpg"
+ ffmpeg -i "$1" -frames:v 1 "$in";;
+ image/*)
+ in="$1";;
+ *)
+ die "file type '${mimetype}' not supported";;
+esac
+
+n="${1##*/}"
+n="${n%.*}"
+convert \
+ \( \
+ +append \
+ "${in}" \
+ /home/annna/bin/modules/filter-media/pointer.jpg \
+ -resize x500 \
+ \) \
+ -pointsize 50 -fill white \
+ -stroke black -strokewidth 1 \
+ -gravity southwest \
+ -draw "text +10,+10 '${n}'" \
+ -gravity northeast \
+ -draw "text -422,+20 '*${n}'" \
+ "$2"